一切都按预期进行。:)
有索引可以加快检索速度。他们使用索引查找来完成。
在你第一次查询中不使用索引,因为使用的是指数慢检索所有行,在这种情况下(
lookup index,
get row,
lookupindex,
get row… x行数是那么慢
get all rows==表扫描)
在第二个查询中,您只检索一部分数据,在这种情况下,表扫描要慢得多。
优化器的工作是使用RDBMS保留在索引上的统计信息来确定最佳计划。在第一种情况下,考虑了索引,但是计划者(正确地)将其丢弃。
编辑
你可能想读的东西像这样得到关于MySQL的查询规划的一些概念和关键字。



