文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>如何1秒插入100万行数字列

如何1秒插入100万行数字列

时间:2010-09-22  来源:Jerrynet

 

-- 利用Identity快速创建和填充数字表,适用于SQL2000;100万数据10秒内生成完成

DBCC DROPCLEANBUFFERS

DBCC FREEPROCCACHE

 

declare @beginTime datetime

set @beginTime=getdate()

SELECT TOP 1000000  IDENTITY(INT,0,1) AS idx

   INTO dbo.t_Numbers

   FROM master.sys.all_columns c1

  CROSS JOIN master.sys.all_columns c2

select datediff(ms,@beginTime,getdate()) as [Time(ms)]

 

/*

(1000000 行受影响)

Time(ms)

-----------

8563

*/

 

-- 利用row_number更加快速地创建和填充数字表;100万数字表1s内就生成好了

drop table t_Numbers

DBCC DROPCLEANBUFFERS

DBCC FREEPROCCACHE

 

declare @beginTime datetime

set @beginTime=getdate()

 SELECT TOP 1000000

       ROW_NUMBER() over (order by c1.object_id) AS N

   INTO dbo.t_Numbers

   FROM master.sys.all_columns c1

  CROSS JOIN master.sys.all_columns c2

select datediff(ms,@beginTime,getdate()) as [Time(ms)]

 

/*

(1000000 行受影响)

Time(ms)

-----------

843

*/

 

Identity的主要IO

表'syscolrdb'。扫描计数1,逻辑读取95 次,物理读取0 次,预读115 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

表'syscolpars'。扫描计数2,逻辑读取11 次,物理读取1 次,预读16 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

表'Worktable'。扫描计数0,逻辑读取0 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

 

row_number的主要IO

表'syscolrdb'。扫描计数2,逻辑读取110 次,物理读取2 次,预读97 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

表'syscolpars'。扫描计数2,逻辑读取10 次,物理读取2 次,预读47 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

 

相关阅读 更多 +
排行榜 更多 +
边境检察最后区域手机版下载

边境检察最后区域手机版下载

角色扮演 下载
酋长你别跑手游下载

酋长你别跑手游下载

休闲益智 下载
心动漫画app下载官方版

心动漫画app下载官方版

浏览阅读 下载