程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle索引的優化設計

Oracle索引的優化設計

編輯:Oracle數據庫基礎

通過合理使用和管理Oracle索引,可以加快數據庫的查詢效率,下面就為您詳細介紹Oracle索引的優化設計,希望能夠對您有所啟迪。

1、管理組織索引

Oracle索引可以大大加快數據庫的查詢速度,Oracle索引把表中的邏輯值映射到安全的RowID,因此索引能進行快速定位數據的物理地址。但是有些DBA發現,對一個大型表建立的索引,並不能改善數據查詢速度,反而會影響整個數據庫的性能。

這主要是和SGA的數據管理方式有關。ORACLE在進行數據塊高速緩存管理時,索引數據比普通數據具有更高的駐留權限,在進行空間競爭時,ORACLE會先移出普通數據。對一個建有索引的大型表的查詢時,索引數據可能會用完所有的數 據塊緩存空間,Oracle不得不頻繁地進行磁盤讀寫來獲取數據,因此在對一個大型表進行分區之後,可以根據相應的分區建立分區索引。

如果對這樣大型表的數據查詢比較頻繁,或者干脆不建索引。另外,DBA創建索引時,應盡量保證該索引最可能地被用於where子句中,如果對查詢只簡單地制定一個索引,並不一定會加快速度,因為索引必須指定一個適合所需的訪問路徑。

2、聚簇的使用

Oracle提供了另一種方法來提高查詢速度,就是聚簇(Cluster)。所謂聚簇,簡單地說就是把幾個表放在一起,按一定公共屬性混合存放。聚簇根 據共同碼值將多個表的數據存儲在同一個Oracle塊中,這時檢索一組Oracle塊就同時得到兩個表的數據,這樣就可以減少需要存儲的Oracle塊, 從而提高應用程序的性能。

3、優化設置的索引,就必須充分利用才能加快數據庫訪問速度。Oracle要使用一個索引, 有一些最基本的條件:

1)、where子名中的這個字段,必須是復合索引的第一個字段;

2)、where子名中的這個字段,不應該參與任何形式的計算。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved