MSSQL大数据量增长字段耗时对比

单个数据表记录数为1亿4千万条.数据库

1、测试同时增长两个容许为空的字段.测试

ALTER TABLE [dbo].[XRecord] ADD [sType] int,[cType] intdate

GOservice

开始时间:2016-08-02 14:55:33.553数据

完成时间:2016-08-02 14:55:34.430db

总共耗时:877毫秒时间

 

更新数据值vi

UPDATE [dbo].[XRecord] SET [sType]=0,[cType]=0co

开始时间:2016-08-02 15:01:46.293

完成时间:2016-08-02 16:38:39.230

总共耗时:1小时37分

 

增长字段描述

使用sp_addextendedproperty和sp_updateextendedproperty操做

 

开始时间:2016-08-02 17:13:34.557

完成时间:2016-08-02 17:13:36.050

总共耗时:1.5秒

 

 

2、试同时增长两个不容许为空的字段

ALTER TABLE [dbo].[XRecord] ADD [sType] int NOT NULL,[cType] int NOT NULL

GO

开始时间:2016-08-02 17:16:04.580

完成时间:2016-08-02 18:07:39.247

总共耗时:51分钟35秒

 

3、修改字段的默认值

BEGIN TRANSACTION
GO
ALTER TABLE [dbo].[XRecord] ADD CONSTRAINT
    DF_P_XRecord_cType DEFAULT 999999 FOR cType
GO
ALTER TABLE [dbo].[XRecord]SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

开始时间:2016-08-02 18:08:56.680

完成时间:2016-08-02 18:08:58.165

总共耗时:0分钟1秒

 

4、增长字段同时设置非空及默认值

BEGIN TRANSACTION
GO
ALTER TABLE [dbo].[XRecord] ADD [sType] int NOT NULL DEFAULT 0 , [cType] int NOT NULL DEFAULT 0
GO
ALTER TABLE [dbo].[XRecord] SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

开始时间:2016-09-08 11:47:21

完成时间:2016-09-08  13:45:41

总共耗时:1小时58分钟20秒191毫秒

 

5、增长字段同时设置默认值

BEGIN TRANSACTION
GO
ALTER TABLE [dbo].[XRecord] ADD [serviceType2] int DEFAULT 0 , [costType2] int DEFAULT 0
GO
ALTER TABLE dbo.XRecord SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

开始时间:2016-09-08 13:52:37.977

完成时间:2016-09-08 13:52:38.913

总共耗时:996毫秒

 

注:以上测试均在没有其余用户操做数据库及没有从库的状况下执行.

相关文章
相关标签/搜索