我是MySQL性能分析的新手。我发现我的系统中的联接查询最近变慢了(对于4个表,3.52s,每个表有大约1000-2000行)。我用phpmyadmin查看了性能分析。结果如下:
1开始170秒 2张开桌44 s 3系统锁7 4表锁7 5 Init 65 s 6优化20秒 7统计数字92 s 8拟备31 s 9创建Tmp表236 s 10执行2 11复制至Tmp表68 s 12优化10 13统计数字14 s 14制备3.5s 15创建排序索引2.6毫秒 16复制到组表15.9 ms 17排序结果2.1ms 18发送数据391 s 19完7 s 20删除Tmp表1.3毫秒 21完3 s 22删除Tmp表819 s 23完10 s 24查询结束2 25释放项目20s 26删除Tmp表6 s 27释放物品365 s 28日志慢速查询3 s 29次清理6次
我不明白为什么Preparing阶段要花费3.5秒。我怎样才能减少呢?
发布于 2015-04-29 10:05:07
在我的回答中,我会胡思乱想,,你可能不使用任何索引。
在SQL优化中,索引是一种失败的欺骗与contra中的konami-code或age of empire中的doors类似。
无论如何,试着把一些索引放在你的数据库,然后回到我们,并惊讶于你的准备阶段是如此之快现在。
https://stackoverflow.com/questions/29940305
复制相似问题