新聞中心
以下的文章主要是介紹Oracle sql 性能的優(yōu)化調(diào)整 ,其中包括如何選用適合的Oracle優(yōu)化器,以及如何訪(fǎng)問(wèn)Table的相關(guān)方式,Oracle所采用兩種不同訪(fǎng)問(wèn)表中記錄的相關(guān)方式的內(nèi)容的介紹。

成都創(chuàng)新互聯(lián)主營(yíng)龍鳳網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開(kāi)發(fā)定制,龍鳳h5小程序開(kāi)發(fā)搭建,龍鳳網(wǎng)站營(yíng)銷(xiāo)推廣歡迎龍鳳等地區(qū)企業(yè)咨詢(xún)
1. 選用適合的Oracle優(yōu)化器
Oracle的優(yōu)化器共有3種:
a. RULE (基于規(guī)則)
b. COST (基于成本)
c. CHOOSE (選擇性)
設(shè)置缺省的Oracle sql 性能優(yōu)化器,可以通過(guò)對(duì)init.ora文件中OPTIMIZER_MODE參數(shù)的各種聲明,如RULE,COST,CHOOSE,ALL_ROWS,F(xiàn)IRST_ROWS . 你當(dāng)然也在SQL句級(jí)或是會(huì)話(huà)(session)級(jí)對(duì)其進(jìn)行覆蓋。
為了使用基于成本的優(yōu)化器(CBO, Cost-Based Optimizer) , 你必須經(jīng)常運(yùn)行analyze 命令,以增加數(shù)據(jù)庫(kù)中的對(duì)象統(tǒng)計(jì)信息(object statistics)的準(zhǔn)確性。
如果數(shù)據(jù)庫(kù)的優(yōu)化器模式設(shè)置為選擇性(CHOOSE),那么實(shí)際的優(yōu)化器模式將和是否運(yùn)行過(guò)analyze命令有關(guān)。 如果table已經(jīng)被analyze過(guò), 優(yōu)化器模式將自動(dòng)成為CBO , 反之,數(shù)據(jù)庫(kù)將采用RULE形式的優(yōu)化器。
在缺省情況下,Oracle采用CHOOSE優(yōu)化器,為了避免那些不必要的全表掃描(full table scan) , 你必須盡量避免使用CHOOSE優(yōu)化器,而直接采用基于規(guī)則或者基于成本的優(yōu)化器。
2. 訪(fǎng)問(wèn)Table的方式Oracle 采用兩種訪(fǎng)問(wèn)表中記錄的方式
a. 全表掃描
全表掃描就是順序地訪(fǎng)問(wèn)表中每條記錄。 Oracle采用一次讀入多個(gè)數(shù)據(jù)塊(database block)的方式Oracle sql 性能優(yōu)化全表掃描。
b. 通過(guò)ROWID訪(fǎng)問(wèn)表
你可以采用基于ROWID的訪(fǎng)問(wèn)方式情況,提高訪(fǎng)問(wèn)表的效率, ROWID包含了表中記錄的物理位置信息……Oracle采用索引(INDEX)實(shí)現(xiàn)了數(shù)據(jù)和存放數(shù)據(jù)的物理位置(ROWID)之間的聯(lián)系。 通常索引提供了快速訪(fǎng)問(wèn)ROWID的方法,因此那些基于索引列的查詢(xún)就可以得到性能上的提高。
文章出自: http://www.programbbs.com/doc/3371.htm
網(wǎng)頁(yè)標(biāo)題:Oraclesql性能的優(yōu)化調(diào)整的2大步驟
文章路徑:http://m.5511xx.com/article/cdpgpep.html


咨詢(xún)
建站咨詢(xún)
