ホームページ > バックエンド開発 > PHPチュートリアル > またはクエリを使用した MySQL 条件はインデックスをトリガーしませんか?

またはクエリを使用した MySQL 条件はインデックスをトリガーしませんか?

WBOY
リリース: 2016-06-23 14:16:20
オリジナル
1637 人が閲覧しました

引数は次のとおりです: where 条件に または が表示される場合、インデックスは使用されません


私のテスト結果は次のとおりです:

mysql> explain select * from emp where ename="dsleos" or ename="saesad" \G*************************** 1. row ***************************           id: 1  select_type: SIMPLE        table: emp         type: rangepossible_keys: e_i          key: e_i      key_len: 62          ref: NULL         rows: 2        Extra: Using where1 row in set (0.00 sec)
ログイン後にコピー


インデックスはトリガーされますか? インデックスを使用しますか?


ディスカッション(解決策)への返信

もちろんインデックスを使用します。
もちろん、データベース内のデータ量が十分でないため、単にテストしている場合、Mysql エンジンはインテリジェントにインデックス作成を放棄し、直接クエリを実行する可能性があります。

or の前後のフィールドはインデックスされているのでインデックスされます (myisam エンジンと innodb エンジンの結果は異なるようです)

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート