首先创建一张表(要求ID自动编号): create table redheadedfile ( id ,), filenames ), senduser ), primary key(id) ) 然后我们写入50万条记录: declare @i int begin insert into redheadedfile(filenames,senduser) values("高效分页算法测试数据" + str(i) ,"广告位招商") end GO 用Microsoft
/* *普通分页 *在数据文件上偏移1000000查出10条 */ select * from zoldesk_92game_net_ecms_bj where classid=303 ORDER BY id ASC LIMIT 1000000,10 ; /* *高效分页 *1.在索引上查出起始索引 *2.从起始索引上查出10条 */ SELECT * from zoldesk_92game_net_ecms_bj WHERE id >= ( SELECT id FROM zoldesk_92g
row_number() ,还是top 这些分页的方法比较老了,效率不是很高效的, Sqlserve2012就有了,效率对比比较明显,尤其是数据比较大的情况下(我们可以观看查询执行计划) Offset 0 Rows Fetch Next 20 Rows only(需要先排序) 这里只举一个接单的sql,只起到抛砖引玉的作用: select id,name from Student order by id desc Offset 0 Rows Fetch Next 20 Rows only