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

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

一、测试同时增加两个允许为空的字段.

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

GO

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

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

总共耗时:877毫秒

 

更新数据值

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

开始时间: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秒

 

 

二、试同时增加两个不允许为空的字段

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秒

 

三、修改字段的默认值

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秒

 

四、增加字段同时设置非空及默认值

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毫秒

 

五、增加字段同时设置默认值

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毫秒

 

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

posted @ 2016-08-02 15:07  何随风  阅读(1311)  评论(0编辑  收藏  举报
@ilovexiao