普通方式 分页【NOT IN】和【>】效率大PK 千万级别数据测试结果
2013-10-30 15:44
453 查看
首现创建一张表,然后插入1000+万条数据,接下来进行测试。 use TT go if exists (select * from sysobjects where name='Tonge') drop table Tonge create table Tonge( ID int primary key identity(1,1), NAME varchar(100), PWD varchar(100), PHONE varchar(100), BORNDATE date default getDate() ) go --存储过程插入10万条数据耗时:38s//平均 2600条/s declare @i int set @i=0 while(@i<=100000) --插入测试数据10万条 begin insert into Tonge values('Tonge'+Convert(varchar(2),@i),'Tonge594200'+Convert(varchar(2),@i),'16886888688',default) set @i = @i+1 end go --疯狂插入法插万条插入640万条数据耗时:101s //平均 63000条/s insert into Tonge(NAME,PWD,PHONE,BORNDATE)( select NAME,PWD,PHONE,BORNDATE from Tonge ) --疯狂插入法7次 10*2*2*2*2*2*2*2=1284万条数据 go select MAX(ID) FROM Tonge --DBCC SHRINKFILE(TTDB_log,0) --清除事务日志 --使用 Not In 分页 declare @PageSize int,@PageIndex int,@TotalPage int select @PageSize=1000,@PageIndex=1000 print '当前页数'+convert(varchar(5),@PageIndex)+' 总页数:' + Convert(varchar(5),@TotalPage) --等待6分钟未果、也就是3600s、CPU暴增... select top(@PageSize) * from Tonge where ID not in(select top(@PageSize*(@PageIndex-1)) ID from Tonge) order by ID --大于号分页测试 declare @PageSize int,@PageIndex int,@TotalPage int select @PageSize=1000,@PageIndex=1000 --每页显示1万条数据,显示第10页 --exec usp_Sign_PagedTonge @PageSize,@PageIndex,@TotalPage output print '当前页数'+convert(varchar(5),@PageIndex)+' 总页数:' + Convert(varchar(5),@TotalPage) --瞬间秒杀 select top(@PageSize) * from Tonge where id > (select max(id) from (select top (@PageSize*(@PageIndex-1)) id from Tonge order by id) emp) 测试结果:测试结果已经很明显了,那就是在普通分页中,对千万级别的数据进行分页(相同页码相同数据),Not In 简直就像是蜗牛,而大于号( > ) 简直可以比做是火箭,另一篇我会介绍使用 存储过程分页 not in 和 > 号的区别 。 博主推荐:存储过程 分页【NOT IN】和【>】效率大PK 千万级别数据测试结果 |
相关文章推荐
- 存储过程 分页【NOT IN】和【>】效率大PK 千万级别数据测试结果
- mysql数据库千万级别数据的查询优化和分页测试
- mysql数据库千万级别数据的查询优化和分页测试
- mysql数据库千万级别数据的查询优化和分页测试
- [转koumi]一个高效率SQL储存过程分页,执行效率测试通过500万以上的数据
- 一个高效率SQL储存过程分页,执行效率测试通过500万以上的数据
- 大数据量分页存储过程效率测试附测试代码与结果
- 一个高效率SQL储存过程分页,执行效率测试通过500万以上的数据
- sql sever 三种分页方式效率的简单测试
- 大数据量分页存储过程效率测试附测试代码与结果
- 大数据量分页存储过程效率测试附测试代码与结果
- 三种分页方式效率的简单测试
- FIFO和Binder读取数据效率测试对比结果
- 千万级别数据分页的SQL语句
- PHP把下划线分隔命名的字符串转换成驼峰式命名方式(带10万次执行效率测试结果)
- 三种分页方式效率的简单测试
- SqlServer存储过程分页:大数据量分页存储过程效率测试附代码
- 网页分页数据抓取的几种方式
- 几种常见SQL分页方式效率比较
- mysql master-slave搭建测试,附带双master FailOver导致数据结果不一致的一些想法