自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你是否了解Oracle B樹(shù)索引

數(shù)據(jù)庫(kù) Oracle
這里介紹Oracle B樹(shù)索引所有葉子塊都應(yīng)該在同一層上,并且葉子節(jié)點(diǎn)實(shí)際上都是雙向鏈表,這樣在進(jìn)行索引區(qū)間掃描的時(shí)候,只需通過(guò)葉子節(jié)點(diǎn)的向前或者向后就可以了,無(wú)需再對(duì)索引結(jié)構(gòu)進(jìn)行導(dǎo)航。

在向大家詳細(xì)介紹Oracle B樹(shù)索引之前,首先讓大家了解下非唯一索引中,然后全面介紹Oracle B樹(shù)索引。Oracle B樹(shù)索引中不存在非唯一的條目。

在非唯一索引中,Oracle會(huì)把rowid作為一個(gè)額外的列追加到鍵上,使得鍵唯一。

Exp:create index I on T( x , y ) ,從概念上講就是Create unique index I on T(x , y , rowid)。Oracle會(huì)首先按索引鍵值排序,然后再按照rowid升序排序。

在唯一索引中,數(shù)據(jù)只按索引鍵值排序。

1.大多數(shù)情況下,Oracle B樹(shù)索引的高度都是2或者3,所以一般情況下,在索引中找到一個(gè)鍵只需要2或3次I/O。

2.Oracle B樹(shù)索引所有葉子塊都應(yīng)該在同一層上,并且葉子節(jié)點(diǎn)實(shí)際上都是雙向鏈表,這樣在進(jìn)行索引區(qū)間掃描(index range scan)的時(shí)候,只需通過(guò)葉子節(jié)點(diǎn)的向前或者向后就可以了,無(wú)需再對(duì)索引結(jié)構(gòu)進(jìn)行導(dǎo)航。

3.適當(dāng)對(duì)Oracle B樹(shù)索引存在重復(fù)值的列進(jìn)行壓縮, 可以增加緩存命中率,使I/O數(shù)減少,因?yàn)?BR>相關(guān)的條目可能都存在在一個(gè)塊中。(Exp:create index I on T(userid , username) username=’steven’這個(gè)值可能就會(huì)對(duì)應(yīng)于多個(gè)rowid放在同一個(gè)索引塊中);但是帶來(lái)的負(fù)面作用是使索引結(jié)構(gòu)復(fù)雜化,維護(hù)索引更耗時(shí),查詢索引占用CPU更多的時(shí)間。(壓縮適合用于多列索引中)

4.Oracle B樹(shù)索引的反向鍵索引主要用于緩解索引右側(cè)緩沖區(qū)忙等待。適合用于類似于sequence產(chǎn)生的PK主鍵上,因?yàn)檫@些列不太會(huì)需要使用區(qū)間掃描,也就是不會(huì)用到max(PK),min(PK),between and或者where PK < 200等查詢

5.如果在查詢中會(huì)有order by colum1 asc,column2 desc, 試著在創(chuàng)建索引時(shí)create index I on T(colum1 asc,column2 desc) , 因?yàn)镺racle INDEX默認(rèn)是DESC排序,在索引中排序總比在磁盤(pán)中排序好得多。

6.適合Oracle B樹(shù)索引使用的2種情況:
1)訪問(wèn)表中占很小比例的行
2)根本不訪問(wèn)表,所需查詢的數(shù)據(jù)全部在索引中
3)一種特殊的用法,使用索引訪問(wèn)表的全部行,這樣的做法是為了使查詢最初的響應(yīng)時(shí)間很短,不是針對(duì)總吞吐量進(jìn)行的優(yōu)化。

7.索引是按索引鍵順序存儲(chǔ),索引會(huì)按鍵的有序順序進(jìn)行訪問(wèn)。索引指向的塊則隨機(jī)存儲(chǔ)在堆中。

8.建議:在thin表中使用Oracle B樹(shù)索引查詢<2-3%的列,fat表中<20-25%的列。

【編輯推薦】

  1. 分析討論Oracle數(shù)據(jù)庫(kù)恢復(fù)
  2. 詳談Oracle遠(yuǎn)程磁盤(pán)鏡像
  3. 新的Oracle 11g功能展示
  4. 詳細(xì)分析Oracle XML數(shù)據(jù)
  5. 分析探討Oracle Data Guard
責(zé)任編輯:佚名 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2009-11-17 09:31:06

Oracle Dual

2009-11-17 17:11:32

Oracle空閑數(shù)據(jù)塊

2009-11-18 13:15:06

Oracle觸發(fā)器

2020-04-01 18:08:57

MySQL B-樹(shù)B+樹(shù)

2019-08-29 10:46:22

MySQL索引數(shù)據(jù)庫(kù)

2019-09-24 09:33:53

MySQLB+樹(shù)InnoDB

2010-10-25 09:39:43

Oracle FBI索

2021-11-30 21:10:19

數(shù)據(jù)庫(kù)B樹(shù)索引

2019-01-29 19:43:10

MySQL索引數(shù)據(jù)庫(kù)

2021-02-16 16:38:41

MySQLB+樹(shù)索引

2019-04-01 14:01:13

B+樹(shù)索引哈希索引算法

2009-11-18 13:20:07

PHP設(shè)計(jì)模式

2021-05-31 11:43:19

B-樹(shù)MySQL索引

2021-06-02 10:23:06

索引B+樹(shù)數(shù)據(jù)

2022-10-08 09:13:18

搜索引擎?站

2009-12-02 18:04:35

SUSE Applia

2020-02-12 19:01:22

索引B-樹(shù)B+樹(shù)

2009-11-19 14:52:37

Oracle UNIO

2010-11-16 09:55:12

Oracle分區(qū)索引

2022-03-28 08:24:52

MySQL聚簇索引非聚簇索引
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)