手足に出て、MyISAMエンジンを使用しているからだと言います。
この
私はこの問題について少なくとも1つの名誉ある言及を呼び起こすように努めます。
ここで、範囲結合タイプ 、デフォルトのエンジンであるため、明らかにINNODBフォーカスです。また、一部のドキュメント階層のマニュアルで明示的に言及されていない場合は、それが想定されます。
私のサンプルリンクには、IDについて隣接するものは何もないことに注意してください。つまり、type=range
に過集中しないでください EXPLAIN出力で。速度はオプティマイザー(CBO)を介して到達します。
cardinality
私の例では非常に高いです(430万)。ターゲットIDカウントは比較的少ない(1000)。インデックスが使用されます。
状況は逆の場合があります。カーディナリティが3のように非常に低く、オプティマイザがインデックスの使用を中止することを決定する場合があります。
インデックスを確認するにはcardinality
、マニュアルページSHOWINDEX構文
を参照してください。 。
次のような簡単な呼び出し:
show index from ratings;
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| ratings | 0 | PRIMARY | 1 | id | A | 4313544 | NULL | NULL | | BTREE | | |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+