web-dev-qa-db-ja.com

MySQL EXPLAIN UPDATE

私は大学の改訂の一環として、次の質問に答えようとしています。

MySQLの「EXPLAIN」ツールを使用して、「employees」データベース内のテーブルの少なくとも1つの属性にインデックスを作成し、作成のメリット(用語または検索)とマイナス(更新)を明確に示します。問題のインデックスの。

最初の部分では、employeesテーブルにインデックスを作成し、インデックスの前後に次のクエリを使用して、検索の観点からそれが有益であることを証明しました。

EXPLAIN SELECT * FROM employees WHERE birth_date = '1953-09-02';

このインデックスは、アクセスされた行を300,000からわずか63に減らす効果がありました。

今、私は2番目の部分を行う方法に困惑しています。 [〜#〜] Explain [〜#〜]コマンドを[〜#〜] update [〜#〜]で使用できると思っていましたが、そうではありません。そのために働く。

[〜#〜] update [〜#〜]私が分析しようとしているクエリは次のとおりです:

UPDATE employee SET first_name = 'first_name' WHERE birth_date = '1953-09-02';

これは質問に答えるのに適したクエリですか、そしてどのように分析を行うのですか?.

よろしくお願いします。

19
jim

EXPLAIN UPDATEはMySQLに存在します 5.6 MySQLのドキュメントを比較するとMySQL 5.5 には存在しません。 MySQL 5.6サーバーでそれを試しましたか?

34
Raymond Tau

Mysql 5.6のリファレンスドキュメント: http://dev.mysql.com/doc/refman/5.6/en/explain.html

MySQL 5.6.3以降、EXPLAINで許可される説明可能なステートメントは、SELECT、DELETE、INSERT、REPLACE、およびUPDATEです。 MySQL 5.6.3より前では、SELECTが唯一の説明可能なステートメントです。

10
andy