oracle數(shù)據(jù)庫(kù)突然變慢了 oracle數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程執(zhí)行慢時(shí)如何優(yōu)化?
oracle數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程執(zhí)行慢時(shí)如何優(yōu)化?解決方案:您需要根據(jù)查詢(xún)條件為您的表設(shè)計(jì)相應(yīng)的索引。有時(shí)可以根據(jù)需要為一個(gè)表構(gòu)建多個(gè)索引。然后再執(zhí)行一次,你會(huì)發(fā)現(xiàn)它過(guò)去需要30秒,但現(xiàn)在可以在幾分鐘內(nèi)完成
oracle數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程執(zhí)行慢時(shí)如何優(yōu)化?
解決方案:您需要根據(jù)查詢(xún)條件為您的表設(shè)計(jì)相應(yīng)的索引。有時(shí)可以根據(jù)需要為一個(gè)表構(gòu)建多個(gè)索引。然后再執(zhí)行一次,你會(huì)發(fā)現(xiàn)它過(guò)去需要30秒,但現(xiàn)在可以在幾分鐘內(nèi)完成,這與使用光標(biāo)無(wú)關(guān)。游標(biāo)的使用完全取決于應(yīng)用程序的需要。我相信你不會(huì)選擇使用光標(biāo),如果你不能使用它們。一般來(lái)說(shuō),只有在沒(méi)有辦法的時(shí)候才選擇游標(biāo)。查詢(xún)速度慢的原因是,如果在存儲(chǔ)過(guò)程中執(zhí)行查詢(xún),如果沒(méi)有索引,它將逐個(gè)搜索并掃描80多萬(wàn)條數(shù)據(jù)。在完成搜索之前,您不會(huì)看到結(jié)果。但是你在外面執(zhí)行得很快的原因是PLSQL會(huì)先檢查幾條數(shù)據(jù),然后先返回給你,所以你會(huì)馬上看到結(jié)果,但事實(shí)上,查詢(xún)沒(méi)有結(jié)束并不容易。如果你在有很多數(shù)據(jù)的時(shí)候把它拉下來(lái),你就會(huì)很慢地發(fā)信。事實(shí)上,調(diào)查過(guò)程還沒(méi)有結(jié)束。簡(jiǎn)而言之,編寫(xiě)存儲(chǔ)過(guò)程的第一步是編寫(xiě),第二步是優(yōu)化它們。否則,當(dāng)您擁有大量數(shù)據(jù)時(shí),如果您的流程編寫(xiě)得不好,問(wèn)題就會(huì)立即暴露出來(lái)