最後に、問い合わせの条件でのMySQLはインデックスを使用しません。

上記のバージョン5.5でのMySQLのクエリは、InnoDBストレージエンジンであり、通常の状況下でのインデックスを取るだろう!MyISAMテーブルについては試していません!

以前のバージョン5.5は5.5のリリース後に、インデックスを行っていない場合は、MySQLが最適化されました。2010年にリリースのMySQL 5.5のバージョンは、オペレータでのオプティマイザは自動的にインデックス、列のインデックスを使用することができ、列のインデックスの確立のために最適化することができ、または全表スキャンになりません。

バージョン5.5より前どこID(BからIDを選択)でSELECT * FROM;このSQL文の実行計画は、IDテーブルと比較して、すべてのIDのBテーブルをチェックアウトし、本当にその最初ではありません。MySQLの意志は相関サブクエリにサブクエリに存在するので、それは実際にこのSQL文と同じです。存在する場合(選択から選択します* *

b.id = a.id)、相関を行うサブクエリが存在する場合、Bからの原則は次のとおり環状及びbは、テーブルのレコードを比較する各テーブルを取っ、比較条件はa.id = b.id.あります これは、レコード・テーブルを返すためにライン上に存在する場合に表Bの各レコードのテーブルIDが存在するかどうか。

おすすめ

転載: www.cnblogs.com/liuxd/p/11702697.html