敬业的IT人 >> 数据库 >> SQLServer >> SQLSERVER,ORACLE,MYSQL高效分页查询

SQLSERVER,ORACLE,MYSQL高效分页查询

敬业的IT人 互联网 佚名 2008-2-28 0:20:32
 

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

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

Oracle:   SELECT * FROM (       
             SELECT MY_TABLE.*,ROWNUM AS MY_ROWNUM FROM (     
            /** 括号里写实际的需要查询的SQL语句**/
           ) AS MYTABLE 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,页面容量

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com