insert话语速度慢,是什么原因
insert语句速度慢,是什么原因?
CREATE TABLE [traitStressArc3] (
[RecID] [int] IDENTITY (1, 1) NOT NULL ,
[TraitID] [int] NOT NULL
) ON [PRIMARY]
GO
declare @i int
set @i = 1
while @i < 10000
begin
insert traitStressArc3 (TraitID) values (@i)
set @i = @i + 1
end
我插入10000条数据在台式机上只用了2秒,而在一台服务器上用时100秒,是什么原因啊,有人碰到过吗?
------解决方案--------------------
没有清空缓存??第一次慢后面的就快了?
------解决方案--------------------
服务器不给力.
------解决方案--------------------
再试一次也许不这样了。
可能受你服务器上其它东西影响了吧
------解决方案--------------------
看看这样要几秒:
CREATE TABLE [traitStressArc3] (
[RecID] [int] IDENTITY (1, 1) NOT NULL ,
[TraitID] [int] NOT NULL
) ON [PRIMARY]
GO
declare @i int
set @i = 1
while @i < 10000
begin
insert traitStressArc3 (TraitID) values (@i)
set @i = @i + 1
end
我插入10000条数据在台式机上只用了2秒,而在一台服务器上用时100秒,是什么原因啊,有人碰到过吗?
------解决方案--------------------
没有清空缓存??第一次慢后面的就快了?
------解决方案--------------------
服务器不给力.
------解决方案--------------------
再试一次也许不这样了。
可能受你服务器上其它东西影响了吧
------解决方案--------------------
看看这样要几秒:
- SQL code
CREATE TABLE [traitStressArc3] ( [RecID] [int] IDENTITY (1, 1) NOT NULL , [TraitID] [int] NOT NULL ) ON [PRIMARY] GO insert into [traitStressArc3] select a.number+(2048*b.number)+1 from master..spt_values a,master..spt_values b where a.type='p' and b.type='p' and a.number+(2048*b.number)+1<=10000 select * from [traitStressArc3] go drop table [traitStressArc3]
------解决方案--------------------
------解决方案--------------------
1、磁盘io
2、索引
看看计划
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
的确很慢
------解决方案--------------------
哦。那你重启一下服务器或者sql 服务再看看了
语句本身木有问题。
------解决方案--------------------
------解决方案--------------------
估計這與服務器的可用資源有關,看一下內存和CPU的使用率
------解决方案--------------------
服务器有毛病吧
------解决方案--------------------
如果跟踪一下服务器的磁盘IO,如果CPU及内存占用均少于60%,没有在3秒内完成,很有可能其中有磁盘已有问题,另外,看一下警报及sql日志,看看没有错误等级>=21及以上的错误....
------解决方案--------------------
或者raid做得有问题