国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

Sql Server 2012新特性 Online添加非空欄位.

2024-08-31 00:55:29
字體:
供稿:網(wǎng)友
Sql Server 2012新特性 Online添加非空欄位.

我們都知道,Sql Server在一個數(shù)據(jù)量巨大的表中添加一個非空欄位是比較費心的,缺乏經(jīng)驗的DBA或是開發(fā)人員甚至可能魯莽地直接添加導(dǎo)致阻塞相應(yīng)業(yè)務(wù),甚至可能因為資源欠缺造成實例的全局問題.當(dāng)然這都是Sql 2008R2及以前版本的情況.在SQL2012中采用了新的實現(xiàn)方式.這里我將對比相應(yīng)的實現(xiàn)方式給大家做個介紹.并簡單說明Sql Server早期版本添加非空列的方法.

添加非空欄位的實現(xiàn)方式

早期版本(Sql Server2008R2及以前)添加非空欄位(要求有默認值)是對表中的所有數(shù)據(jù)行依次修改調(diào)整

我們通過一個簡單的實例來看下

Sql 2008R2 SP2 Code

Create database tadnullgouse tadnullgocreate table t2(id int not null identity (1,1),dystr varchar(20),fixstr char(30));goset nocount on declare @batchSize intset @batchSize=1000declare @i intset @i=0while(@i<20000)begin  if (@i%@batchSize=0)    begin      if (@@TRANCOUNT>0)COMMIT TRAN      BEGIN TRAN    end  insert into t2(dystr,fixstr)values('aaa'+str(RAND()*100000000),'bbb'+str(RAND()*100000000))  set @i=@i+1end if (@@TRANCOUNT>0)COMMIT TRANdbcc ind(tadnull,t2,1) -----find a datapage pageid 21        dbcc traceon(3604)    dbcc page('tadnull',1,21,3)-----view the datapage 21

通過DBCC PAGE我們打印其中的一個數(shù)據(jù)頁進行分析.

可以看到圖1-1當(dāng)前數(shù)據(jù)頁的最后修改的日志記錄為m_lsn = (28:69:279)

數(shù)據(jù)頁中第一行數(shù)據(jù)(slot 0)頁偏移量0x60,行長度為58

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 正阳县| 潮州市| 梁河县| 康保县| 永善县| 高青县| 彰武县| 化德县| 依安县| 桃江县| 晋城| 保靖县| 弥渡县| 大荔县| 苏州市| 丰镇市| 十堰市| 石屏县| 珠海市| 辽中县| 安新县| 泸州市| 宜兴市| 宁晋县| 广灵县| 衢州市| 东至县| 新郑市| 修文县| 乐安县| 惠水县| 灌阳县| 金秀| 赞皇县| 徐水县| 张北县| 交口县| 紫金县| 濉溪县| 凤阳县| 汶上县|