摘要: 在SQLServer中,`ROW_NUMBER`的分页应该是最高效的了,而且兼容SQLServer2005以后的数据库,可以通过“欺骗”查询引擎的小技巧,可以控制查询引擎部分的优化过程。 ROW_NUMBER`分页在大页数时存在性能问题,可以通过一些小技巧进行规避:1)尽量通过cte利用索引。2)把不参与`where`条件的表放到分页的cte外面。3)如果参与`where`条件的表过多,可以考虑把不参与分页的表先做一个临时表,减少IO;inner join`会优先于子查询,而`left join`不会;使用`with(forceseek)`可以强制查询因此进行索引查询 阅读全文
posted @ 2015-01-05 23:06 马非码 阅读(32961) 评论(66) 推荐(173) 编辑