我试图优化庞大的MySQL数据库,同时我正在考虑向表列添加索引。在这里我注意到一个奇怪的行为,当我将索引添加到特定列时,从工作台生成的查询计划图像显示它正在降低特定表的成本。但最终它在嵌套循环中得到了增加。
在添加索引之前:
如果在第一张图像中看到这些图像,则表W
正在进行完整的索引扫描,查询成本为189482.4,并且获取的行数为852.06K行,我添加了复合索引WHERE条件中的列W
和MType
。因此返回的成本和行分别减少到99815.75和426.03K行。
当从表W
返回的成本和行减少时,它最终会降低嵌套循环中的成本吗?但它正在增加。
对此的任何解释都将非常有用并且非常感谢。提前谢谢。
以下是link到表创建语句。
SELECT Query: