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秒,是什么原因啊,有人碰到过吗?
[解决办法]
没有清空缓存??第一次慢后面的就快了?
[解决办法]
服务器不给力.
[解决办法]
再试一次也许不这样了。
可能受你服务器上其它东西影响了吧
[解决办法]
看看这样要几秒:
- SQL code
CREATE TABLE [traitStressArc3] ([RecID] [int] IDENTITY (1, 1) NOT NULL ,[TraitID] [int] NOT NULL ) ON [PRIMARY]GOinsert 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<=10000select * from [traitStressArc3]godrop table [traitStressArc3]
[解决办法]
[解决办法]
1、磁盘io
2、索引
看看计划
[解决办法]
[解决办法]
[解决办法]
的确很慢
[解决办法]
哦。那你重启一下服务器或者sql 服务再看看了
语句本身木有问题。
[解决办法]
[解决办法]
估服器的可用源有,看一下存和CPU的使用率
[解决办法]
服务器有毛病吧
[解决办法]
如果跟踪一下服务器的磁盘IO,如果CPU及内存占用均少于60%,没有在3秒内完成,很有可能其中有磁盘已有问题,另外,看一下警报及sql日志,看看没有错误等级>=21及以上的错误....
[解决办法]
或者raid做得有问题