您好,登錄后才能下訂單哦!
性能優(yōu)化
全表掃描(多塊讀的size)數(shù)據(jù)量比較多的時(shí)候
1,并行查詢 2,多塊讀 3,索引全掃描
row ID
索引就是一個(gè)數(shù)據(jù)庫(kù)對(duì)象,包含
k值和row id的新表。
OLTP:線上交易系統(tǒng)
常見(jiàn)索引:B樹(shù)索引(隨著數(shù)據(jù)量的增大,右邊節(jié)點(diǎn)也會(huì)隨之增大,導(dǎo)致不平衡,產(chǎn)生分支節(jié)點(diǎn),增加I/O)
位圖索引(適用于數(shù)據(jù)倉(cāng)庫(kù)中,增刪改比較少的表中,需要整張表的信息。)
好處:獲取表的所有信息。獲取row id的開(kāi)始值和結(jié)束值。缺點(diǎn):索引對(duì)增刪改有影響,鎖定兩張表
基于函數(shù)的索引(使用局限性比較大,使用率低。需要評(píng)估,)
造成函數(shù)索引失效:1,外層套索引 2,做運(yùn)算 3,模糊查詢
統(tǒng)計(jì)收集索引信息的時(shí)間:周內(nèi)(凌晨 2-4點(diǎn))周末()
統(tǒng)計(jì)表信息,數(shù)據(jù)字典
反向索引:
收集T表統(tǒng)計(jì)信息:exec dbms_stats.gather_table_stats('SCOTT','T');
新建表的統(tǒng)計(jì)信息為空
索引不可見(jiàn):alter index cust_id_idx invisible
alter index cust_id_idx visible
反向索引:為了避免熱塊效應(yīng)(性能很低),引用反向索引,使用分塊方法。
缺點(diǎn):不支持范圍掃描,只能用于等值查詢
索引掃描類型 索引的唯一掃描 (索引值唯一,where判斷=)
索引的范圍掃描 (讀單塊)
索引跳躍掃描 (復(fù)合索引)
索引快速全掃描(多塊掃描)
索引全掃描
1,2索引常用
2種優(yōu)化訪問(wèn)路徑
1,全表掃描(對(duì)表中所有進(jìn)行簡(jiǎn)單掃描,主要是在某個(gè)查詢請(qǐng)求表的大部分塊時(shí),)
2,索引訪問(wèn)路徑(基于row id)
數(shù)值小于百分之七會(huì)走索引
undo
ORA-01555 快照過(guò)舊(有大事務(wù))updata事務(wù)太大,undo表空間存放不下,解決辦法就是強(qiáng)制關(guān)閉可以終止事務(wù)。擴(kuò)大undo表空間。
undo 里面有前鏡像。CTAS create table as select
undo不能設(shè)成自動(dòng)擴(kuò)展
索引全掃描
產(chǎn)生索引全掃描的條件:
order by 對(duì)應(yīng) id
group by 對(duì)應(yīng) id
索引快速全掃描:(同時(shí)訪問(wèn)多個(gè)塊)
索引本身包含查詢中的所有列時(shí),oracle執(zhí)行索引快速全掃描。
索引名稱:(如何確定是否使用了 索引)
alter index cust_id_idx monitoring usage;
select index_name,monitoring,used from v$object_usage;
避免使用索引:
/*+NO_INDEX (有+號(hào)是提示,沒(méi)有+號(hào)是注釋)
查看執(zhí)行計(jì)劃:
explain plan for select * from emp where empno=‘7765’
select * from emp(dbms_xplain_display)
不走索引的情況
索引列時(shí)不會(huì)有null(空值)的
有不等式時(shí)不走索引,in或not in時(shí)不走索引。
使用通配符時(shí),模糊查詢時(shí)不走索引。
謂詞中使用了空值時(shí)不走索引。
查詢中包含函數(shù)的時(shí)候不走索引。
統(tǒng)計(jì)信息查詢
dbms 存儲(chǔ)過(guò)程包
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。