|
1、 首先要搞明白什么叫執(zhí)行計(jì)劃?
執(zhí)行計(jì)劃是數(shù)據(jù)庫(kù)根據(jù)SQL語(yǔ)句和相關(guān)表的統(tǒng)計(jì)信息作出的一個(gè)查詢方案,這個(gè)方案是由查詢優(yōu)化器自動(dòng)分析產(chǎn)生的,比如一條SQL語(yǔ)句如果用來(lái)從一個(gè)10萬(wàn)條記錄的表中查1條記錄,那查詢優(yōu)化器會(huì)選擇索引查找方式,如果該表進(jìn)行了歸檔,當(dāng)前只剩下5000條記錄了,那查詢優(yōu)化器就會(huì)改變方案,采用全表掃描方式。
可見,執(zhí)行計(jì)劃并不是固定的,它是個(gè)性化的。產(chǎn)生一個(gè)正確的執(zhí)行計(jì)劃有兩點(diǎn)很重要:
(1) SQL語(yǔ)句是否清晰地告訴查詢優(yōu)化器它想干什么?
(2) 查詢優(yōu)化器得到的數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息是否是最新的、正確的?
2、 統(tǒng)一SQL語(yǔ)句的寫法
對(duì)于以下兩句SQL語(yǔ)句,程序員認(rèn)為是相同的,數(shù)據(jù)庫(kù)查詢優(yōu)化器認(rèn)為是不同的。
1. select*fromdual
2. select*Fromdual
it知識(shí)庫(kù):在程序開發(fā)中怎樣寫SQL語(yǔ)句可以提高數(shù)據(jù)庫(kù)的性能,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。