我的查询在生产中运行缓慢(50-100秒)。 它基本上是一个有3个连接的大选择(总共4个表)。 连接仅在主键上完成(由外键引用)
使用ANALYZE
语句,多次运行(在我的所有连接表上或只有几个连接表中),我能够获得一个好的执行计划,并使查询执行到大约0.1秒
我想知道我可以依赖这个新的执行计划对我的查询保持不变。
可以通过哪些因素来确定执行计划的选择?
AFAIK,执行计划与索引信息相关联,至少在运行ANALYZE
语句时。
因为人们记得,我的查询速度很慢 - 它会在不确定的时间内运行良好吗?
如果需要更多信息,我很乐意提供。
*我不想以任何方式编辑我的SELECT
声明。这是因为它是自动生成的,如果被改变则不会有任何好处。
[编辑] InnoDB的
[编辑] 找到了一种修改我的SQL查询的方法,所以我不必像这样跳过箍。