Oracle中索引的原理

來源:互聯網
上載者:User

標籤:ocs   serve   key   範圍   uri   oracl   date   尺寸   iot   

前言:本文解決的問題

  • Oracle中使用Index一定會加快尋找速度嗎?
  • B+Tree和Bitmap索引的區別
  • 索引的原理
1 索引的基本概念

索引是一種資料庫結構,能夠就資料庫中的某列提供快速查詢,而不用檢索整個表格。建立索引時,oracle會首先對全表進行搜尋,然後把要建立索引的欄位排序,並構建構建索引條目(包含欄位值和該欄位在原表中的地址值rowid),把索引條目儲存到索引段中。

An index is a database structure that provides quick lookup of data in a column or columns of a table.

說到底了,這是用空間來換時間,但是尋找對於經常要搜尋的欄位,尤其對於table資料很多的情況下,有索引速度還是快很多。可以形象地把索引類比於百科全書的目錄,雖然多了幾頁目錄,但是尋找起來不需要一頁一頁搜尋,速度還是快很多。

2 索引的分類

索引裡面的元素是排序的,如果不止一列,那麼第一列是主排序,然後再根據後面的列順序依次排序。oracle中預設使用的是B-Tree索引。

2.1B-Tree索引(ORACLE預設的)

B-Tree是一種平衡樹,資料存放區在葉子節點上,檢索節點上的資料所走的步數長度是一樣的,資料結構見。

2.11文法B-Tree基本介紹

`` create index <index_name> on <table_name> ( <column1>, <column2>, … ); ` `

2.12例子

2.2Bitmap索引

Bitmap類index是儲存在一個二維表中,行是rowid,列名稱是屬性的取值範圍,表格中的資料是屬性值。具體如下

Bitmap主要用於選定的列中,屬性取值範圍比較小的,如為性別(male,female),衣服尺寸(S,M,L)等,而且在讀取比較多的系統中使用較多。

2.21 文法

` ` CREATE BITMAP INDEX Index_Name ON Table_Name (Column_Name); ` `

2.22 例子

2.3 二者區別

B-Tree索引適合屬性值取值範圍很大的,而bitmap索引適合於屬性值取值範圍小的。

3使用索引注意事項
  • oracle建立主鍵時會自動在該列上建立索引
  • 經常進行串連查詢的列應該建立索引
  • 使用create index時要將最常查詢的列放在最前面
  • 在使用where和join的屬性上建立索引
  • 在外鍵(foreign key)上建立索引
4 索引的缺點
  • 索引並不一定加快查詢速度,尤其是對於比較小的表來說

  • 索引是用空間換時間來實現快速查詢,因此也勢必會拖慢insert、delete、update等操作,因為每次操作後索引也必須更新。

參考文獻

https://dev.to/databasestar/a-guide-to-indexes-in-oracle
https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT811
https://www.cnblogs.com/wishyouhappy/p/3681771.html

Oracle中索引的原理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.