|
1、 首先要搞明白什么叫執(zhí)行計(jì)劃?
執(zhí)行計(jì)劃是數(shù)據(jù)庫根據(jù)SQL語句和相關(guān)表的統(tǒng)計(jì)信息作出的一個(gè)查詢方案,這個(gè)方案是由查詢優(yōu)化器自動(dòng)分析產(chǎn)生的,比如一條SQL語句如果用來從一個(gè)10萬條記錄的表中查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ōu)化器它想干什么?
(2) 查詢優(yōu)化器得到的數(shù)據(jù)庫統(tǒng)計(jì)信息是否是最新的、正確的?
2、 統(tǒng)一SQL語句的寫法
對于以下兩句SQL語句,程序員認(rèn)為是相同的,數(shù)據(jù)庫查詢優(yōu)化器認(rèn)為是不同的。
1. select*fromdual
2. select*Fromdual
it知識(shí)庫:在程序開發(fā)中怎樣寫SQL語句可以提高數(shù)據(jù)庫的性能,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。