久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么解決數(shù)據(jù)庫LOB字段帶來的性能影響

132次閱讀
沒有評論

共計 1983 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要講解了“怎么解決數(shù)據(jù)庫 LOB 字段帶來的性能影響”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“怎么解決數(shù)據(jù)庫 LOB 字段帶來的性能影響”吧!

今天開發(fā)人員反映一個 SQL 查詢時間大概 2 - 3 分鐘:

SELECT * FROM (SELECT ROWNUM AS ROWNUMBER__, T.*
 FROM (Select T1.CONSULTINGCODE AS  ConsultingCode ,
 T1.CATEGORY AS  Category ,
 T1.CUSCODE AS  CusCode ,
 T1.ORDERCODE AS  OrderCode ,
 T1.WARECODE AS  WareCode ,
 DECRYPTBYKEY(T1.MOBILEPHONE) AS  MobilePhone ,
 DECRYPTBYKEY(T1.EMAILENCRYPT) AS  EmailEncrypt ,
 T1.ASSIGNTIME AS  AssignTime ,
 T1.REPLIER AS  Replier ,
 T1.REPLYCODE AS  ReplyCode ,
 T1.REPLYDATE AS  ReplyDate ,
 T1.BYWAY AS  ByWay ,
 T1.CREATETIME AS  CreateTime ,
 T1.EVALUATE AS  Evaluate ,
 T1.EXPIREMAN AS  ExpireMan ,
 T1.EXPIREREASON AS  ExpireReason ,
 T1.CONSULTINGTYPEID AS  ConsultingTypeID ,
 T1.STATUS AS  Status ,
 T1.QUESTION AS  Question ,
 T1.MAILCONTENTS AS  MailContents ,
 T1.REPLYCONTENT AS  ReplyContent ,
 T1.ENCEMAIL AS  EncEmail 
 From mbs7_crm.KH_Consulting T1 left Join mbs7_crm.KH_Customer T2 on T1.CUSCODE = T2.CUSCODE ORDER BY T1.STATUS ASC, T1.CREATETIME ASC) T WHERE  CreateTime   = date  2013-9-1 
 AND  ReplyCode  IN (128)
 AND  CreateTime   = timestamp  2013-9-30 23:59:59 
 AND ROWNUM  = 10000) TEMP
 WHERE ROWNUMBER__   0

分析:

        該語句從執(zhí)行計劃來看,走了時間索引,返回記錄是 1 千多,如果全部查詢出來進度很慢(分頁的翻頁操作很慢),后來發(fā)現(xiàn)該語句的性能主要是消耗在:字段 Question,“MailContents”, Category 和 ReplyContent 上,把這 4 個字段注釋小,查詢時間在 5s 內(nèi),后來發(fā)現(xiàn)這 4 個字段為 CLOB 字段類型, 因為 CLOB 字段這種字段類型的存儲方式是比較復雜的,如果該 CLOB 字段內(nèi)容超出一定值,會用指針指向另一個 SEGMENT,把內(nèi)容存放在新的 SEGMENT; 這樣當訪問的時候,會出現(xiàn) IO 次數(shù)增加, 從而影響性能,并且 CLOB 類型有獨立的回滾機制,當一致性讀的行數(shù)較多時,響應時間很慢,而就算存儲的內(nèi)容較小,CLOB 本身也會調(diào)用系統(tǒng)內(nèi)部的函數(shù)進行匹配和尋址,也是很消耗 CPU 時間的.

解決方案:

        經(jīng)與開發(fā)人員溝通,該表的此四個字段其實實際存儲內(nèi)容遠沒有超出 4000 個字節(jié)(varchar2 的最大長度),當初設(shè)計的時候沒有考慮精準,于是計劃把這些字段類型按照下列方法重新調(diào)整:

alter table mbs7_crm.KH_Consulting add (QUESTION2 varchar2(2000));
update mbs7_crm.KH_Consulting set QUESTION2=dbms_lob.substr(QUESTION,4000);
alter table mbs7_crm.KH_Consulting drop column QUESTION;
alter table mbs7_crm.KH_Consulting rename column QUESTION2 to QUESTION;

修改后,重新查詢,在 5S 內(nèi)。

感謝各位的閱讀,以上就是“怎么解決數(shù)據(jù)庫 LOB 字段帶來的性能影響”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對怎么解決數(shù)據(jù)庫 LOB 字段帶來的性能影響這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-26發(fā)表,共計1983字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 渭南市| 永安市| 枣强县| 乌兰浩特市| 邮箱| 彭泽县| 金湖县| 泗水县| 南召县| 九台市| 罗城| 青岛市| 青铜峡市| 临清市| 平谷区| 漯河市| 库车县| 南陵县| 宝鸡市| 奈曼旗| 巴南区| 庆元县| 陆川县| 丰原市| 永清县| 潢川县| 江西省| 赤城县| 太和县| 土默特右旗| 腾冲县| 策勒县| 惠水县| 贺州市| 屏南县| 文化| 息烽县| 利川市| 曲松县| 汉源县| 大丰市|