MSSQL大資料量增加字段耗時對比

2022-02-14 12:44:10 字數 1230 閱讀 6628

單個資料表記錄數為1億4千萬條.

一、測試同時增加兩個允許為空的字段.

alter table [dbo].[xrecord] add [stype] int,[ctype] int

go總共耗時:877毫秒

更新資料值

update [dbo].[xrecord] set [stype]=0,[ctype]=0

總共耗時:1小時37分

增加字段描述

使用sp_addextendedproperty和sp_updateextendedproperty操作

總共耗時:1.5秒

二、試同時增加兩個不允許為空的字段

alter table [dbo].[xrecord] add [stype] int not null,[ctype] int not null

go總共耗時:51分鐘35秒

三、修改欄位的預設值

begin transaction

goalter table [dbo].[xrecord] add constraint

df_p_xrecord_ctype default 999999 for ctype

goalter table [dbo].[xrecord]set (lock_escalation = table)

gocommit

總共耗時:0分鐘1秒

四、增加字段同時設定非空及預設值

begin transaction

goalter table [dbo].[xrecord] add [stype] int not null default 0 , [ctype] int not null default 0

goalter table [dbo].[xrecord] set (lock_escalation = table)

gocommit

總共耗時:1小時58分鐘20秒191毫秒

五、增加字段同時設定預設值

begin transaction

goalter table [dbo].[xrecord] add [servicetype2] int default 0 , [costtype2] int default 0

goalter table dbo.xrecord set (lock_escalation = table)

gocommit

總共耗時:996毫秒

注:以上測試均在沒有其他使用者運算元據庫及沒有從庫的情況下執行.

大資料量演算法

給40億個不重複的unsigned int的整數,沒排過序的,然後再給乙個數,如何快速判斷這個數是否在那40億個數當中 位圖思想解法 include stdio.h include stdlib.h include memory.h define max num 4294967295 int mai...

大資料量處理

看看這個,異曲同工,永遠不超時 該程式是針對非常龐大的資料庫開發的,沒有用迴圈 用途 對過萬條資料的資料庫字段內容批量替換 資料庫連線 dim beeyee dbname,connstr,conn,intsn1 dim content,num,intsn,intidno,strcodea,strco...

航測大資料量處理 大資料量處理及優化措施

1 首先考慮垂直拆分庫,不同的表拆分到不同的庫中,例如使用者庫 產品庫 支付庫 2 然後考慮水平拆分庫,將乙個表的資料放到多張表中,例如按照使用者 時間 訂單號 3 插入資料的時候不建立索引 4 待資料已經插入完成後,建立索引 5 正確的指定索引字段 6 使用批量插入資料庫的方式代替單條資料的插入 ...