oracle ORACLE的優(yōu)化器有幾種?
ORACLE的優(yōu)化器有幾種?您好,我來(lái)回答您:RBO方法:在分析SQL語(yǔ)句時(shí),優(yōu)化器遵循Oracle預(yù)先確定的一些規(guī)則。例如,當(dāng)where子句中的一列有索引時(shí),我們通常遍歷索引。CBO模式:基于成本的
ORACLE的優(yōu)化器有幾種?
您好,我來(lái)回答您:RBO方法:在分析SQL語(yǔ)句時(shí),優(yōu)化器遵循Oracle預(yù)先確定的一些規(guī)則。例如,當(dāng)where子句中的一列有索引時(shí),我們通常遍歷索引。CBO模式:基于成本的優(yōu)化(簡(jiǎn)稱(chēng)CBO)是指語(yǔ)句的成本。這里的成本主要是指CPU和內(nèi)存。優(yōu)化器在判斷是否使用這種方法時(shí),主要參考表和索引的統(tǒng)計(jì)信息。統(tǒng)計(jì)信息給出了表的大小、行數(shù)、每行的長(zhǎng)度等信息。這些統(tǒng)計(jì)數(shù)據(jù)起初在數(shù)據(jù)庫(kù)中不可用,但在分析后顯示。很多時(shí)候,過(guò)期的統(tǒng)計(jì)數(shù)據(jù)會(huì)使優(yōu)化器制定錯(cuò)誤的執(zhí)行計(jì)劃,因此我們應(yīng)該及時(shí)更新這些信息。如果我的回答對(duì)你沒(méi)有幫助,請(qǐng)繼續(xù)問(wèn)。
針對(duì)Oracle數(shù)據(jù)庫(kù)的優(yōu)化器是什么?
Oracle optimizer有兩種優(yōu)化方法,即基于規(guī)則的優(yōu)化(RBO)和基于成本的優(yōu)化(CBO)a和RBO:在分析SQL語(yǔ)句時(shí),優(yōu)化器遵循Oracle預(yù)先確定的一些規(guī)則。例如,當(dāng)where子句中的一列有索引時(shí),我們通常遍歷索引。CBO模式:根據(jù)單詞的意思,它取決于語(yǔ)句的成本。這里的成本主要是指CPU和內(nèi)存。優(yōu)化器在判斷是否使用這種方法時(shí),主要參考表和索引的統(tǒng)計(jì)信息。統(tǒng)計(jì)信息給出了表的大小、行數(shù)、每行的長(zhǎng)度等信息。這些統(tǒng)計(jì)數(shù)據(jù)起初在數(shù)據(jù)庫(kù)中不可用。它們只有在你分析之后才會(huì)出現(xiàn)。很多時(shí)候,過(guò)期的統(tǒng)計(jì)數(shù)據(jù)會(huì)使優(yōu)化器制定錯(cuò)誤的實(shí)施計(jì)劃,所以我們應(yīng)該及時(shí)更新這些信息。在oracle8及更高版本中,建議對(duì)Oracle列使用CBO。我們需要明白,沒(méi)有必要通過(guò)索引。例如,如果一個(gè)表只有兩行數(shù)據(jù),那么一個(gè)IO可以完成整個(gè)表的檢索。在這個(gè)時(shí)候,我們需要兩個(gè)操作系統(tǒng),當(dāng)我們通過(guò)索引。這時(shí),最好對(duì)桌子做一次全表掃描。