I can imagine that it's actually more important to explain SELECT statements, but I wonder why there's no possibility to use EXPLAIN on UPDATEs/INSERTs. I may use a WHERE-statement in an UPDATE where indexes are being used (I guess?), it should be possible to see if they are actually used. Additionally, in the case of using a SELECT-statement inside an UPDATE, I also cannot use explain for this part without getting a syntax error.
Did I misunderstand something about the processes on UPDATEs and INSERTs? How else can I else debug those statements?


MySQL currently doesn't support this (unlike nearly all other DBMS).

I think this will be in 5.6 but I'm not entirely sure.

I don't think there is any workaround for that (except upgrading to a DBMS that does support this)

| improve this answer | |
  • 1
    It is in MySQL 5.6 (still in dev.) – ypercubeᵀᴹ Jul 31 '12 at 16:15
  • @ypercube: thanks for the confirmation. I just heard that it's finally going to come but wasn't sure in which version. – a_horse_with_no_name Jul 31 '12 at 16:16
  • I have been mistakenly thinking it was added in MariaDB but it's only in MySQL 5.6 – ypercubeᵀᴹ Jul 31 '12 at 16:18
  • Thanks. It seems 5.6 turns out to be a really desirable version, thinking of fulltext-search in InnoDB and now the fact about the explain...it's just curious why quite essential features (in my opinion) aren't implemented yet. – 32bitfloat Jul 31 '12 at 18:47
  • 1
    @32bitfloat: any of the commercial ones and PostgreSQL in the OpenSource league. – a_horse_with_no_name Jul 31 '12 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.