1. 程式人生 > >ORACLE 索引

ORACLE 索引

ont name 指針 決定 其他 ima 表空間 create 管理

索引:
	一種獨立於表的模式對象, 能夠存儲在與表不同的磁盤或表空間中
	索引被刪除或損壞, 不會對表產生影響, 其影響的僅僅是查詢的速度
	索引一旦建立, Oracle 管理系統會對其進行自己主動維護, 並且由 Oracle 管理系統決定何時使用索引。用戶不用在查詢語句中指定使用哪個索引
	在刪除一個表時,全部基於該表的索引會自己主動被刪除
	通過指針加速 Oracle server的查詢速度
	通過高速定位數據的方法,降低磁盤 I/O
	
創建索引:
自己主動創建: 在定義 PRIMARY KEY 或 UNIQUE 約束後系統自己主動在對應的列上創建唯一性索引
手動創建: 用戶能夠在其他列上創建非唯一的索引,以加速查詢

什麽時候創建索引?
	下面情況能夠創建索引:
	列中數據值分布範圍非常廣
	列常常在 WHERE 子句或連接條件中出現
	表常常被訪問並且數據量非常大 。訪問的數據大概占數據總量的2%到4%
	
什麽時候不要創建索引?

下列情況不要創建索引: 表非常小 列不常常作為連接條件或出如今WHERE子句中 查詢的數據大於2%到4% 表常常更新 使用索引的利弊: 索引不須要用。僅僅是說我們在進行查詢的時候,速度會更快。當然查的速度快了,插入的速度就會慢。 由於插入數據的同一時候,還須要維護一個索引。

常常使用sql: --創建索引 create index emp10_id_ix on t_emp10(employee_id); --刪除索引 drop index emp10_id_ix;


ORACLE 索引