分页查询效率为什么高? 开发中经常用到分页查询,一般都是用服务器端分页。都知道分页的查询效率高。至于为什么高,我一直不太明白。 我的理解是: 比如一张表中有100W条数据,分页查询(pageSize=10) 优势一:每次查询的数据只有10条(不是一次查询100W条),因此查询效率快了一些。 优势二:响应到客户端的数据只有10条(不是一次全部响应100W条),因此 响应的效率又高了一些。 是不是这样??????? 别的地方我也不知道哪里效率高了。 假如只有这两个地方效率高了,那么看看下边的例子 selct * from A. selct count(*) from (select * from A) 要分页就要得到总记录数,我的查询条件不确定,可能是多表连接查询,我只能想到这种获得总数的方法(哪位大侠知道更好的方法请告知????????)。 这样的话,每次分页查询之前我都需要用到count(*),这样一来每次都执行了select * from A 的操作。 这样的话 查询效率高的优势(优势一)就没有了,只是响应到客户端的效率高了(优势二)。这样理解对么????????? 这样以来分页还有意义么????? 优势一和优势二到底哪个对查询效率影响比较大????????换句话说,一次全部查询比较慢,慢在哪里,是一次查询全部数据比较影响效率,还是一次把所有数据响应到客户端比较影响效率??????????
???????????结尾的是我的问题
------解决方案-------------------- 呵呵! 当然是一次把所有数据都传给客户端的效率慢了! 一下网速,二是服务器对一个就发送这么多数据,况且还不是一个用户! 不慢才怪! 是1KB的数据快还是1M的数据快呢?
------解决方案-------------------- 你说的优势一其实不是什么优势,就selct count(*) from (select * from A)而言,我给你个数据:表总共有11409538条数据,sql执行的时间是0.9秒,主要还是在前台页面上。
------解决方案--------------------