大数据量,比如10万以上的数据,数据库在5G以上,单表5G以上等。大数据分页时需要考虑的问题更多。
比如信息表,单表数据100W以上。
分页如果在1秒以上,在页面上的体验将是很糟糕的。
优化思路:
1、主键索引,如ID自增列,主键
2、借助sqlserver的ROW_NUMBER()实现分页,分页时只需得到ID即可,如:
WITH NoPagedTable AS ( SELECT ROW_NUMBER() OVER (order by ctime desc) AS rowIndex, ID FROM tabletest )select * from NoPagedTable WHERE rowIndex>=10000 and rowIndex<=10020
3、将得到的ID串成字符串,如(12,13,14,15,16),再将表中数据查询出,如:
select * from tabletest where ID in (12,13,14,15,16)
这样经测试,速度还是不错的。