我现在一直在进行优化工作,但我真的无法解决这个问题。
查询:
SELECT `field` FROM `table` WHERE `column_id` = 12341
索引:
ALTER TABLE `table`
ADD INDEX `column_id` (`column_id`);
现在查询(EXPLAIN SELECT field FROM table WHERE column_id = 12341
)的解释显示我有50.000行。
但实际上,只有20.000行,其中column_id = 12341。
现在这可能很烦人,因为MySQL使用行数估计来选择正确的索引,并且最终可能会因为错误的估计而错过索引。
是否有一些我不知道的索引技巧?
答案 0 :(得分:0)
将count
与explain
进行比较并不是真正有效,因为(如已经链接的答案中所述)explain
显示已处理的行数,而不是结果集中预期的数量