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

 

注:以上測試均在沒有其餘用戶操做數據庫及沒有從庫的狀況下執行.

相關文章
相關標籤/搜索