昨晚我遇到了 mysql 的一个特殊问题。所以我有一个有四列的表( A text, B text, C text , D number)
。我创建了 D 作为我的index( B-Tree Mysql Index with innodb engine)
.
假设在表中插入数据后:D的最大值为100,最小值为0;
在字段 D 上查询时:
where D = 25
. 查询立即执行where D = 125
(即表中不存在值)。查询按年龄执行
据我了解,索引足够聪明,可以识别该值包含在表中,并且应该像其他值一样快速执行。我查看了解释查询计划,它显示对键“字段 D”进行了 50% 的表扫描。我不明白为什么要花这么多时间来执行第二个查询?
我的表大约有 2000 万行。
PS:我用数字只是为了解释。
谢谢