微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLSERVER,ORACLE,MYSQL高效分页查询

在我们开发过程中经常会碰到需要查询数据库表中的数据。有的时候这张表的数据量非常大,我们如何高效的分页查询出来给用户显示呢?

如果查询结果需要分页,从效率上讲,下面的效率应该比较高(粉红色表示需要根据实际情况填充的地方)

三类数据库中进行分页查询的高效率方法(目前来看):

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,页面容量 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐