首页 > 代码库 > 查询优化-索引

查询优化-索引

索引与主键的区别

http://database.51cto.com/art/201108/279897.htm

WITH cr AS (SELECT ROW_NUMBER() OVER(ORDER BY Time_t desc) rownumber,Msg_id, modelid,infoId,Time_t,User_id FROM t_msg_info WITH(NOLOCK) WHERE Time_t<=GETDATE() and isShow=1 AND access_type_id=1 and [Type] IN (20,6,11,21,9,28,10,8))
SELECT * from cr WHERE rownumber > 10000 AND  rownumber < 10020

技术分享

技术分享

WITH cr AS (SELECT ROW_NUMBER() OVER(ORDER BY Msg_id desc) rownumber,Msg_id, modelid,infoId,Time_t,User_id FROM t_msg_info WITH(NOLOCK) WHERE Time_t<=GETDATE() and isShow=1 AND access_type_id=1 and [Type] IN (20,6,11,21,9,28,10,8))
SELECT * from cr WHERE rownumber > 10000 AND  rownumber < 10020

技术分享

技术分享

两句话,只一个order by 的字段发生了改变,其查询速度大幅度提升。

这就是主键(索引)带来的好处

另外 用 > <比用 between and快那么稍微一丢丢 。

分页排序的相关信息查看此文:http://www.cnblogs.com/iamowen/archive/2011/11/03/2235068.html

查询优化-索引