私は単純なインデックスを持つmySQLと単純なクエリで非常に奇妙な問題があります。また、インデックスの名前LINK_IDがあり、あなたが見ることができるよう単純なmySQLクエリではインデックスを使用していません
SELECT * FROM `counter_links` WHERE `link_id`=1544;
:私はこのクエリを使用しようとしています
mysql> show indexes from counter_links;
+---------------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+
| counter_links | 1 | link_id | 1 | link_id | A | NULL | NULL | NULL | | BTREE | disabled | |
+---------------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+
1 row in set (0.12 sec)
しかし、EXPLAIN何を見返さ:
mysql> explain SELECT * FROM `counter_links` WHERE `link_id`=1544;
+----+-------------+---------------+------+---------------+------+---------+------+----------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------------+------+---------------+------+---------+------+----------+-------------+
| 1 | SIMPLE | counter_links | ALL | NULL | NULL | NULL | NULL | 22103687 | Using where |
+----+-------------+---------------+------+---------------+------+---------+------+----------+-------------+
1 row in set (0.03 sec)
なぜMySQLのドン」そこにインデックスを使用する?テーブルの小さなバージョンでも同じことがうまくいくことがわかりますが、どこに問題があるのかわかりません。あなたがやる?
低IDがインデックスで動作することがあるため、見た目が変わっています。
コメントありがとうございます!
乾杯!
ヤクブ
あなたは '多分counter_links''のTABLE'をCREATE示しすることはできます動作する可能性があり? –