掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
以下的文章主要介紹的是Oracle SQL執(zhí)行緩慢的分析,如果你是Oracle SQL執(zhí)行方面的新手,你就可以通過(guò)以下的文章對(duì)Oracle SQL執(zhí)行有一個(gè)更好的了解,以下就是文章的詳細(xì)內(nèi)容的介紹。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到隨縣網(wǎng)站設(shè)計(jì)與隨縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋隨縣地區(qū)。
Oracle SQL執(zhí)行緩慢的分析
問(wèn)題描述:
Oracle數(shù)據(jù)庫(kù)中一張表的數(shù)據(jù)已經(jīng)2億多,而且此表創(chuàng)建了4個(gè)獨(dú)立的索引。由于業(yè)務(wù)需要,每天需分兩次向此表中插入300萬(wàn)條記錄。由于數(shù)據(jù)量大,每次插入耗時(shí)3個(gè)小時(shí)以上,嚴(yán)重影響效率。因此,修改了系統(tǒng)的算法,將此表中只存儲(chǔ)當(dāng)天新增記錄。
將此表truncate后,第二天執(zhí)行對(duì)此表的update操作時(shí),非常耗時(shí)。表中有2億多條數(shù)據(jù)的時(shí)候,此sql語(yǔ)句耗時(shí)59秒;表中有300萬(wàn)條數(shù)據(jù)的時(shí)候,此Oracle SQL語(yǔ)句耗時(shí)幾個(gè)小時(shí)。咨詢(xún)DBA后,得出結(jié)論,需重建索引。重建后,6秒完成此操作。但第三天問(wèn)題依然出現(xiàn)。DBA正在查找原因。難道每次truncate表,都需要重建索引?
對(duì)于這個(gè)問(wèn)題,DBA也沒(méi)有給出合理的解釋?zhuān)茰y(cè)主要原因是Oracle復(fù)雜的查詢(xún)優(yōu)化算法。
最終,DBA給出的解決方案:
- truncate table ....
- drop index.....
- insert data .....
- create index ...
- analyze table table_name compute statistics;
重新生成統(tǒng)計(jì)數(shù)據(jù)調(diào)整后,整個(gè)操作耗時(shí)非常少。
以上的相關(guān)內(nèi)容就是對(duì)Oracle SQL執(zhí)行緩慢的分析,望你能有所收獲。
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流