分页查询慢的问题。

#1 czn10000

$this->spPager($arr_parameter['page'], $arr_parameter['numPerPage'])->findSql($sql);

这样分页查30条数据竟然要快6秒。跟没分页查询的时间差不多

2017-04-17 20:03:17

#2 jake

首先,建议学点关于mysql优化的知识。

分页不代表查询不慢,如果没有加正确索引的前提下,分页和不分页情况查询速度都是差不多的,只是分页会返回更少的数据,但是它们运算量是相等的。

所以,查询慢,不是分页能解决,而是要正确使用索引,多了解一些关于sql优化的知识才是正途。

PS:你这里问的应该是3.1的问题,稍候会将帖子转移到正确的板块。

2017-04-18 08:35:22

#3 czn10000

jake 发表于 2017-4-18 08:35
首先,建议学点关于mysql优化的知识。

分页不代表查询不慢,如果没有加正确索引的前提下,分页和不分页情 ...
索引都有建了。直接用SQL语句查是有索引的。用spPager查才这得很慢。

2017-04-18 08:41:28

#4 czn10000

jake 发表于 2017-4-18 08:35
首先,建议学点关于mysql优化的知识。

分页不代表查询不慢,如果没有加正确索引的前提下,分页和不分页情 ...
如果是因为索引问题理论上我直接用SQL语句查应该也会很慢才对啊。

2017-04-18 08:45:10

#5 jake

czn10000 发表于 2017-4-18 08:45
如果是因为索引问题理论上我直接用SQL语句查应该也会很慢才对啊。
我上面的意思是:分页实际上和没分页的查询速度是差不多的,见你顶楼的帖子。
所以,慢不慢不在于分不分页,明白了吗?


2017-04-18 09:52:00

#6 czn10000

jake 发表于 2017-4-18 09:52
我上面的意思是:分页实际上和没分页的查询速度是差不多的,见你顶楼的帖子。
所以,慢不慢不在于分不分 ...
哦。哦。意思是比较我查100W条数据全部查出来,和从100条数据中分页查出第一页的30条其实是差不多时间的对吧。OK,我明白了。
谢谢。

那就要靠数据库设计来优化和SQL优化了是吧。

2017-04-18 13:44:03