日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

修改表字段长度的操作,对业务是否有影响?

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改表字段长度的操作,对业务是否有影响? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前兩天測試同學問了一個問題,表中某一個字段,需要改一下長度,對業務是否會有影響?

?

可能隱約之中,我們覺得沒影響,但又好像有影響,究竟有何影響,我們從實驗來看最科學。

?

首先建測試表,NAME字段是VARCHAR2(10),10個字節的字符串類型,表有256萬數據。我們將其長度改為20,從執行時間看,只有20毫秒,

?

?

我們對上面的操作,做一下10046 trace,發現確實,首先使用LOCK以EXCLUSIVE模式鎖定了TBL表,

?

接下來執行alter table修改操作,

?

?

從trace文件看,主要是針對一些數據字典表的操作,其中包含28次select,10次update,12次delete,可以想象一個改字段長度的操作,就有幾十次SQL操作,但用時僅為毫秒級,效率可見一斑。

?

我們從alter table新增字段操作究竟有何影響?(下篇)的介紹,可以知道,EXCLUESIVE模式的鎖,是最高級別的鎖,Alter table,Drop table,Drop index,Truncate table這些常見的DDL操作,都會需要這種級別的鎖,我們知道Oracle中select這種查詢(不帶for update)是不會有鎖的,因此若表有EXCLUSIVE級別的鎖時,僅允許select操作(不帶for update),禁止其他類型的操作,

從鎖的強弱看,EXCLUSIVE(exclusive,X)>SHARE ROW EXCLUSIVE(S/Row-X,SRX)>SHARE(Share,S)>ROW EXCLUSIVE(Row-X,RX)>ROW SHARE(Row-S,RS)。

?

最后,引述一篇博客的總結(http://blog.itpub.net/9252210/viewspace-626388/),

2級鎖Row-S行共享(RS):共享表鎖,sub share,鎖有:Select for update,Lock For Update,Lock Row Share。

3級鎖Row-X行獨占(RX):用于行的修改,sub exclusive,鎖有:Insert, Update, Delete, Lock Row Exclusive。

4級鎖Share共享鎖(S):阻止其他DML操作,share,鎖有:Create Index, Lock Share,locked_mode為2,3,4不影響DML(insert,delete,update,select)操作, 但DDL(alter,drop等)操作會hang。

5級鎖S/Row-X共享行獨占(SRX):阻止其他事務操作,share/sub exclusive,鎖有:Lock Share Row Exclusive,具體來講有主外鍵約束時update / delete … ; 可能會產生4,5的鎖。

6級鎖exclusive 獨占(X):獨立訪問使用,exclusive,鎖有:Alter table, Drop table, Drop Index, Truncate table, Lock Exclusive。

?

因此,針對上面VARCHAR2(10)改為VARCHAR2(20)的操作,我們的結論是修改字段長度的操作是會阻礙其他非select操作,但是持續的時間很有限,幾乎可以說是忽略不計,因為需要操作的是數據字典信息,并不是表自身,所以和要操作表的記錄總量,沒有任何關系。

?

無意之中,發現了另一個問題,將字段長度從VARCHAR2(20)改為VARCHAR2(10),用時比之前要久,540毫秒,幾乎是之前的10倍,

?

我們看下他的trace,首先還是以EXCLUSIVE模式鎖表,

?

接著執行alter table操作,

?

我們從下面的信息,看出了一些端倪,

?

以FIRST_ROWS優化器模式執行select操作,條件是字段NAME長度>10,因為現在是要將字段長度,從20改為10,就需要判斷是否已存數據中,有違反長度的記錄,如果有則禁止此操作,所以需要以全表掃描,來檢索表中所有記錄,rows是0,則繼續執行其他操作,需要注意的是,他采用了FIRST_ROWS模式,會以最快的速度返回記錄,因此執行時間還是可控的,從操作上來看,整個操作包含27次select,10次update,12次delete,其中判斷LENGTH("NAME")>10的語句占用了幾乎90%的SQL執行時間。

?

總結:

1. 若是增加長度的操作,會以EXCLUSIVE模式鎖表,但其主要操作的是數據字典表,鎖占用時間幾乎可以忽略不計,所以幾乎不會影響業務。

2. 若是縮短長度的操作,還會以EXCLUSIVE模式鎖表,但需要以FIRST_ROWS優化器模式,執行全表掃描,判斷已存數據是否有超長的記錄,因此相比(1)執行時間會略久,但基本可控。

?

?

?

總結

以上是生活随笔為你收集整理的修改表字段长度的操作,对业务是否有影响?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 老鸭窝久久| 国产中文字幕网 | 韩国日本美国免费毛片 | 欧美精品第一页 | 激情偷乱人成视频在线观看 | 请用你的手指扰乱我吧 | 三级影片在线免费观看 | 26uuu成人网 国产精品久久久久久久久久直播 | 欧洲一区在线 | 污污视频在线观看网站 | 超碰公开在线观看 | 国产色中色| 三级做爰在线观看视频 | 伊人国产在线 | 人人干人人干人人干 | 自拍偷拍福利 | 国产黄页 | 91娇羞白丝 | 亚洲成人观看 | www黄色网址 | 国产精品一区二区三区免费视频 | 青青青在线免费观看 | 精品国产99久久久久久 | 国语对白一区二区 | av女人的天堂 | 亚洲精品小说 | 国产99自拍 | 欧美36p| 婷婷天堂| 干爹你真棒插曲mv在线观看 | 麻豆国产一区二区 | 免费性情网站 | 国产性猛交xx乱 | 51国产视频| 亚洲一区二区三区黄色 | 国产精品二 | 久久黄色网址 | 国产永久免费无遮挡 | 国产刺激视频 | 日韩精品成人在线 | 亚洲国产丝袜 | 国产亚洲一区二区三区在线观看 | 亚洲综人 | 国产精品99久久久久久大便 | 欧美色涩 | 国产毛片91 | 看片国产| 色妹子综合 | 1000部啪啪未满十八勿入超污 | 又大又粗欧美黑人aaaaa片 | 色老二导航 | 精品人妻大屁股白浆无码 | 成人亚洲天堂 | 精品国产丝袜一区二区三区乱码 | 午夜影院在线观看免费 | 在线观看午夜 | 国产精品电影在线观看 | 国产欧美视频一区 | 成人在线一区二区 | 日日噜噜噜噜人人爽亚洲精品 | 精品91av| 三级黄色网络 | 丰满熟妇人妻中文字幕 | 黄色片视频在线观看 | 男人爆操女人 | 国产美女无遮挡免费 | 亚洲美女一级片 | 欧美 日韩 国产 在线观看 | 波多野结衣先锋影音 | 日本欧美一级片 | 中文字幕一区二区三区在线视频 | 91污在线观看 | 色接久久| 日韩免费av网站 | 91视频毛片 | 视频一区在线免费观看 | 国产午夜电影在线观看 | 美色视频 | av网在线播放 | 欧美成人精品一区二区三区 | 一区精品在线 | 日本欧美韩国国产精品 | 久久综合久久88 | 日韩精品免费一区 | 亚洲精品黄色 | xxxxwwww国产| 嫩草视频在线观看免费 | 成人av在线一区二区 | 粉嫩aⅴ一区二区三区 | 香蕉综合在线 | 男人的影院 | 嫩模一区| 痴女扩张宫交脱垂重口小说 | 欧美日本 | 精品国产一区二 | 亚洲av无码专区在线电影 | 特黄老太婆aa毛毛片 | 每日更新在线观看av | 国产经典久久久 |