日韩性视频-久久久蜜桃-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)執行時間會略久,但基本可控。

?

?

?

總結

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

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

主站蜘蛛池模板: 看黄网站在线观看 | 欧美做受高潮1 | 国产欲妇 | 欧美嫩草| 精品一区二区三区久久 | 国产成人91| 免费黄色小说视频 | 国产一级18片视频 | 一区二区三区 欧美 | 性猛交ⅹxxx富婆视频 | 国产精品免费久久 | 野花成人免费视频 | jizz18欧美18 | 色爽爽一区二区三区 | 亚洲国产精品一区二区三区 | 久久国产精品无码网站 | 天堂色在线 | 欧美日韩国产a | 黄色在线观看网站 | 欧美一区二区三区免费看 | www好男人| 黑丝啪啪| 成年人免费观看视频网站 | 亚洲综合视频网 | 制服师生在线 | 杨幂国产精品一区二区 | 国产免费一区二区三区最新6 | 亚洲国产成人精品无码区99 | 国产主播一区 | 久久精品夜色噜噜亚洲a∨ 中文字幕av网 | 69人妻一区二区三区 | 久久9热| 中文字幕免费在线看线人动作大片 | 日韩一区二区三区四区五区六区 | 国产日韩精品电影 | 国产三级全黄 | 日韩一区二区a片免费观看 伊人网综合在线 | 久草国产在线 | 麻豆国产尤物av尤物在线观看 | 国产精品一区二区毛片 | 欧美高清性 | 久久婷婷五月国产色综合激情 | 日本最黄网站 | 午夜黄色福利视频 | 亚洲av女人18毛片水真多 | 成人午夜福利一区二区 | 老司机一区二区三区 | 香蕉久久av一区二区三区 | 狠狠人妻久久久久久综合麻豆 | 亚洲欧美另类在线视频 | 国产亚洲系列 | 日韩国产综合 | 91精品视频在线看 | 在线观看av网站 | 在线观看的黄网 | 欧美福利视频在线 | 国产精品无码一区二区无人区多人 | 一区二区三区 日韩 | 波多野结衣视频免费观看 | 国产三级精品在线观看 | 狠狠干很很操 | 国内自拍青青草 | 91影院在线播放 | 中文字幕在线观看视频一区 | 女人被狂躁60分钟视频 | 日韩手机看片 | 亚洲一区二区三区无码久久 | 国产男同gay网站 | 99热91 | 日韩一区二区三免费高清在线观看 | 色综合天天综合网国产成人网 | 亚洲一二区在线 | 99r在线视频 | 国产古装艳史毛片hd | 久久免费的精品国产v∧ | 欧美 日韩 国产 在线观看 | 国产午夜精品无码一区二区 | 青青草视频在线观看 | 国产黄色美女视频 | 午夜免费视频网站 | 中文字幕一二三四 | 国产日本精品视频 | 男女午夜视频 | aa级黄色片 | 国产欧美一区二区三区视频 | 国产性色av | 久久久久久九九九九 | 国产a级网站| 天天干天天操天天拍 | 欧美久久免费 | 日本香蕉视频 | 少妇人妻一区二区三区 | 亚洲香蕉在线视频 | 欧美最顶级a∨艳星 | 性福网站| 大乳村妇的性需求 | aaa一区二区 | 日本高清视频一区二区 | 污黄视频在线观看 |