在我们开发过程中经常会碰到需要查询数据库表中的数据。有的时候这张表的数据量非常大,我们如何高效的分页的查询出来给用户显示呢?
如果查询结果需要分页,从效率上讲,下面的效率应该比较高(粉红色表示需要根据实际情况填充的地方)
三类数据库中进行分页查询的高效率方法(目前来看):
Oracle: SELECT * FROM (
SELECT MY_table.*,ROWNUM AS MY_ROWNUM FROM (
/** 括号里写实际的需要查询的SQL语句**/
) AS MY_table WHERE ROWNUM <=200/**这里是一页中的最后一条记录**/
) WHERE MY_ROWNUM>=10 /**这里是一页中的第一条记录**/
sqlServer: SELECT * FROM (
SELECT top 页面容量 * FROM (
SELECT top 页面容量*当前页码 * FROM
表 WHERE 条件 ORDER BY 字段A ASC
)AS TEMPtable1 ORDER BY 字段A DESC
) AS TEMPtable2 ORDER BY 字段A ASC
MysqL: SELECT 语句 liMIT 页面的第一条记录-1,页面容量
以上是内存溢出为你收集整理的SQLSERVER,ORACLE,MYSQL高效分页查询全部内容,希望文章能够帮你解决SQLSERVER,ORACLE,MYSQL高效分页查询所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)