MySQL中的完整桌子扫描



select *from REPT_AIR_PRY_HY1 RAP where (RAP.DATE_OF_ISSUE) BETWEEN "2017-10-01" AND DATE_ADD("2017-10-31", INTERVAL 1 DAY)

此查询的解释计划给了我 337243 但是这些日期之间的数据仅为 55209 ,甚至在列date_of_issue上创建了索引。那么,为什么它在扫描整个桌子?预先感谢

一些可能性:

  • 优化器认为(正确或错误地(认为需要表的非平凡百分比。桌子上有多少行?
  • 您正在使用Myisam;切换到Innodb。
  • 由于某种原因,"统计数据"是陈旧的。做ANALYZE TABLE

要进一步讨论,请提供SHOW CREATE TABLE

相关内容

  • 没有找到相关文章

最新更新