我们有一个在线应用程序,表中的大量数据通常从每个表中的百万10+不等。
我面临的性能冲击是在报告模块中,其中一些图表和表格的显示加载非常慢。
假设总时间= PHP执行时间+ MYSQL查询时间+ http响应时间
为了验证这一点,当我打开phpmyadmin,这又是另一个web应用程序。
如果我点击一个有3条记录的表(SELECT * from table_name) =显示的总时间是1- 1.5秒。我可以看到mysql查询时间为0.0001秒
当我点击一个有1000万条记录的表时=总时间是7-8秒,而mysql查询时间再次接近0.0001秒
页面加载时间不应该是mysql和脚本运行时间的总和吗?为什么当mysql行有更大的数据时,加载速度会变慢,即使mysql说它也需要同样的时间。
发布于 2012-09-17 20:18:40
PHPMyAdmin使用了LIMIT,所以这是一个不相关的比较。
您应该使用EXPLAIN来了解查询速度如此之慢的原因。1000万是一个很小的数据集(假设平均行大小),不应该花费接近7秒的时间。
此外,计算执行时间的方法也是有缺陷的。您应该通过对各个部分或脚本进行计时来进行测量。如果SQL是您的瓶颈,请开始优化表或查询。
https://stackoverflow.com/questions/12458903
复制相似问题