真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Oracle如何通過(guò)注釋改變執(zhí)行計(jì)劃

小編給大家分享一下Oracle如何通過(guò)注釋改變執(zhí)行計(jì)劃,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司2013年至今,公司以網(wǎng)站制作、網(wǎng)站建設(shè)、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶近1000家,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

Oracle 通過(guò)注釋改變執(zhí)行計(jì)劃

一:?jiǎn)栴}現(xiàn)象

T_XXX表同步延時(shí)1小時(shí),其它表同步速度正常;

主要慢在同步時(shí)的一個(gè)delete T_XXX語(yǔ)句上,單條執(zhí)行耗時(shí)12秒;

 

二:?jiǎn)栴}原因

T_XXX表存在唯一性索引,理論上速度很快;

查看T_XXX表存在delete行級(jí)觸發(fā)器,查看觸發(fā)器邏輯,發(fā)現(xiàn)觸發(fā)器內(nèi)一個(gè)update語(yǔ)句特別慢;

UPDATE CHENJCH.T_CHENJCH_RISK ..where  RISK_ID ....

查看執(zhí)行計(jì)劃,update語(yǔ)句走全表掃描,速度很慢,通過(guò)hint強(qiáng)制走主鍵索引,速度特別快;

為什么執(zhí)行計(jì)劃不走主鍵?

查看T_CHENJCH_RISK表統(tǒng)計(jì)信息顯示表有0行數(shù)據(jù),但是實(shí)際上有200萬(wàn)行數(shù)據(jù);

由于數(shù)據(jù)同步時(shí)T_CHENJCH_RISK表存在大量的delete/update/insert操作,上次收集統(tǒng)計(jì)信息時(shí)正好這個(gè)表里沒(méi)有數(shù)據(jù),但是經(jīng)過(guò)幾天的數(shù)據(jù)同步后,表里的數(shù)據(jù)量發(fā)生了很大變化,統(tǒng)計(jì)信息也不是實(shí)時(shí)進(jìn)行收集,最終導(dǎo)致生成較差的執(zhí)行計(jì)劃;

解決方案:

嘗試刪除T_CHENJCH_RISK表統(tǒng)計(jì)信息,讓數(shù)據(jù)庫(kù)通過(guò)動(dòng)態(tài)取樣實(shí)時(shí)的收據(jù)信息,但是執(zhí)行計(jì)劃沒(méi)有變,還是走全表掃描,速度沒(méi)有提高;

begin

  dbms_stats.delete_table_stats(ownname => 'CHENJCH', tabname => 'T_CHENJCH_RISK');

end;

嘗試重新收集T_CHENJCH_RISK表統(tǒng)計(jì)信息,讓數(shù)據(jù)庫(kù)通過(guò)動(dòng)態(tài)取樣實(shí)時(shí)的收據(jù)信息,但是執(zhí)行計(jì)劃沒(méi)有變,還是走全表掃描,速度沒(méi)有提高;

begin

  DBMS_STATS.GATHER_TABLE_STATS('CHENJCH',

                                'T_CHENJCH_RISK',

                                estimate_percent => 100,

                                method_opt       => 'FOR ALL INDEXED COLUMNS',

                                degree           => 6,

                                CASCADE          => TRUE);

end;

為什么執(zhí)行計(jì)劃沒(méi)有變?

(數(shù)據(jù)庫(kù)版本Oracle 12.2.0.1.0)

因?yàn)镾QL語(yǔ)句存在綁定變量,SQL文本沒(méi)有變,導(dǎo)致執(zhí)行計(jì)劃也沒(méi)有發(fā)生變化;

通過(guò)對(duì)表T_CHENJCH_RISK添加和刪除注釋,可以讓數(shù)據(jù)庫(kù)重新生成執(zhí)行計(jì)劃;

comment on column CHENJCH.T_CHENJCH_RISK.RISK_ID   is  'PK_T_CHENJCH_RISK';

comment on column CHENJCH.T_CHENJCH_RISK.RISK_ID   is  '';

查看新生成的執(zhí)行計(jì)劃,T_CHENJCH_RISK已經(jīng)開始走主鍵索引了,速度有明顯提升;

以上是“Oracle如何通過(guò)注釋改變執(zhí)行計(jì)劃”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標(biāo)題:Oracle如何通過(guò)注釋改變執(zhí)行計(jì)劃
網(wǎng)站網(wǎng)址:http://weahome.cn/article/ighghh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部