我在MySQL 5.6中构建了一个连接20个表的大型查询。当我在Mac5.6的本地副本上运行查询时,我得到了1-2毫秒的响应时间。当我在Ubuntu上的mysql 5.5上运行相同的查询(通过MySQL转储使用相同的数据)时,我得到了60秒的响应时间。我对缓慢的查询运行了分析,发现几乎整个60秒都花在了“统计”阶段。“统计”阶段显然是MySQL决定如何最好地执行所有连接的阶段。
MySQL 5.6如
mysql为什么要这样做?我知道来自的mysql "If you need to access most of the rows, it is faster to read sequentially, because this但这不可能比使用索引获取这10个值更快
为什么mysql要这样做,我如何指示mysql强制他们使用索引而不是执行全表扫描.