数据量大的SQL分页查询优化
2014-04-19 22:02
260 查看
我们平常写分页sql,一般都会分两次查询,一次查询结果,一次查询总行数。下面这条sql做了一些优化,只需要查询一次。 代码如下:
declare @nGotoPage int,@nPageSize int; set @nGotoPage = 1; set @nPageSize = 100000; with T_Data(RowID,ID,CID,DisplayName,WriteDate,Body) as ( select Row_Number() over (order by ID) as RowID, ID,CID,DisplayName,WriteDate,Body from Test where CID=1 ),T_DataCount(nRecordCount) as ( select count(*) from T_Data ) select _RecordCount=t2.nRecordCount,_PageCount=Ceiling(t2.nRecordCount * 1.0 / @nPageSize), t1.* from T_Data as T1, T_DataCount as t2 where RowID > ((@nGotoPage - 1) * @nPageSize) and RowID <= (@nGotoPage * @nPageSize);
相关文章推荐
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 关于SQL Server SQL语句查询分页数据的解决方案
- 程序员老鸟写sql语句的经验之谈、百万数据查询优化技巧三十则
- 如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案!(zz)
- SQL优化——百万数据查询优化
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- SQL大量数据查询的优化 及 非用like不可时的处理方案
- Sql查询数据分页显示
- 提高mysql千万级大数据SQL查询优化几条经验
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 解析Oracle数据扫描 Oracle SQL查询优化 引导局部范围数据扫描的方法(6)
- 解析Oracle数据扫描 Oracle SQL查询优化 总结篇
- 海量数据库的查询优化及分页算法方案(3)--改善SQL语句[转]
- mysql数据库千万级别数据的查询优化和分页测试
- SQL大量数据查询的优化
- SQL优化-索引、查询优化及分页算法方案
- Oracle sql"NOT IN"语句优化,查询A表有、B表没有的数据
- 提高mysql千万级大数据SQL查询优化30条经验
- 从统计数据表记录总数谈SQL_Server查询优化