oracle 性能優(yōu)化建議小結(jié)SEO優(yōu)化
導(dǎo)讀:2SEO優(yōu)化平時(shí)關(guān)注Oracle數(shù)據(jù)庫的網(wǎng)友都知道,Oracle性能優(yōu)化保證了Oracle數(shù)據(jù)庫的健壯性。下面就此提出需要注意的兩個(gè)原則。如何seo優(yōu)化推廣網(wǎng)站網(wǎng)站seo優(yōu)化診斷工具。
原則一:注意WHERE子句中的連接順序: ORACLE采用自下而上的順序解析WHERE子句,根據(jù)這個(gè)原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過濾掉最大數(shù)量記錄的條件必須寫在WHERE子句的末尾. 尤其是“主鍵ID=?”這樣的條件。
原則二: SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的過程中, 會(huì)將'*' 依次轉(zhuǎn)換成所有的列名, 這個(gè)工作是通過查詢數(shù)據(jù)字典完成的, 這意味著將耗費(fèi)更多的時(shí)間 。
簡(jiǎn)單地講,語句執(zhí)行的時(shí)間越短越好(尤其對(duì)于系統(tǒng)的終端用戶來說)。而對(duì)于查詢語句,由于全表掃描讀取的數(shù)據(jù)多,尤其是對(duì)于大型表不僅查詢速度慢,而且對(duì)磁盤IO造成大的壓力,通常都要避免,而避免的方式通常是使用索引Index。
使用索引的優(yōu)勢(shì)與代價(jià)。優(yōu)勢(shì):1)索引是表的一個(gè)概念部分,用來提高檢索數(shù)據(jù)的效率,ORACLE使用了一個(gè)復(fù)雜的自平衡B-tree結(jié)構(gòu). 通常,通過索引查詢數(shù)據(jù)比全表掃描要快. 當(dāng)ORACLE找出執(zhí)行查詢和Update語句的最佳路徑時(shí), ORACLE優(yōu)化器將使用索引. 同樣在聯(lián)結(jié)多個(gè)表時(shí)使用索引也可以提高效率.2) 另一個(gè)使用索引的好處是,它提供了主鍵(primary key)的唯一性驗(yàn)證.。那些LONG或LONG RAW數(shù)據(jù)類型, 你可以索引幾乎所有的列. 通常, 在大型表中使用索引特別有效. 當(dāng)然,你也會(huì)發(fā)現(xiàn), 在掃描小表時(shí),使用索引同樣能提高效率.代價(jià): 雖然使用索引能得到查詢效率的提高,但是我們也必須注意到它的代價(jià). 索引需要空間來存儲(chǔ),也需要定期維護(hù), 每當(dāng)有記錄在表中增減或索引列被修改時(shí), 索引本身也會(huì)被修改. 這意味著每條記錄的INSERT , DELETE , UPDATE將為此多付出4 , 5 次的磁盤I/O . 因?yàn)樗饕枰~外的存儲(chǔ)空間和處理,那些不必要的索引反而會(huì) 使查詢反應(yīng)時(shí)間變慢.。而且表越大,影響越嚴(yán)重。
使用索引需要注意的地方:
1、避免在索引列上使用NOT , 我們要避免在索引列上使用NOT, NOT會(huì)產(chǎn)生在和在索引列上使用函數(shù)相同的影響. 當(dāng)ORACLE”遇到”NOT,他就會(huì)停止使用索引轉(zhuǎn)而執(zhí)行全表掃描.
2、避免在索引列上使用計(jì)算. WHERE子句中,如果索引列是函數(shù)的一部分.優(yōu)化器將不使用索引而使用全表掃描. 舉例:
復(fù)制代碼 代碼如下:
低效:SELECT … FROM DEPT WHERE SAL * 12 > 25000; 高效:SELECT … FROM DEPT WHERE SAL > 25000/12;
3、避免在索引列上使用IS NULL和IS NOT NULL 避免在索引中使用任何可以為空的列,ORACLE性能上將無法使用該索引.對(duì)于單列索引,如果列包含空值,索引中將不存在此記錄. 對(duì)于復(fù)合索引,如果每個(gè)列都為空,索引中同樣不存在此記錄. 如果至少有一個(gè)列不為空,則記錄存在于索引中.舉例: 如果唯一性索引建立在表的A列和B列上, 并且表中存在一條記錄的A,B值為(123,null) , ORACLE將不接受下一條具有相同A,B值(123,null)的記錄(插入). 然而如果所有的索引列都為空,ORACLE將認(rèn)為整個(gè)鍵值為空而空不等于空. 因此你可以插入1000 條具有相同鍵值的記錄,當(dāng)然它們都是空! 因?yàn)榭罩挡淮嬖谟谒饕兄?所以WHERE子句中對(duì)索引列進(jìn)行空值比較將使ORACLE停用該索引.聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-23 ,文章oracle 性能優(yōu)化建議小結(jié)SEO優(yōu)化主要講述小結(jié),性能,oracle 性能優(yōu)化建議小結(jié)SEO優(yōu)化2網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/seo_5535.html
為你推薦與oracle 性能優(yōu)化建議小結(jié)SEO優(yōu)化相關(guān)的文章
-
織夢(mèng)DedeCms網(wǎng)站模板必做SEO優(yōu)化
(151)人喜歡 2024-01-05 -
如何判斷一個(gè)抖音代運(yùn)營團(tuán)隊(duì)靠譜seo動(dòng)態(tài)
(126)人喜歡 2023-06-23 -
百度上線CreateLab應(yīng)用,可智能將將文字生
(99)人喜歡 2023-06-23 -
工信部備案系統(tǒng)啟用新域名seo文章
(126)人喜歡 2023-06-23 -
抖音seo排名怎么收費(fèi)?收費(fèi)的標(biāo)準(zhǔn)是什么
(134)人喜歡 2023-06-23 -
百度升級(jí)烽火算法2.0,提升打擊網(wǎng)站劫持
(143)人喜歡 2023-06-23