程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle筆記-分區

Oracle筆記-分區

編輯:關於Oracle數據庫

  第 14 章 分區

  14.1 分區的使用

  增加可用性

  減輕維護負擔

  提高DML與查詢的性能

  14.2 分區如何工作

  表分區策略

  索引分區

  本地索引

  分為本地前綴索引(Local Prefixed Index)、本地非前綴索引(Local Non-prefixed Index)

  1. 索引的選擇

  在單表查詢中,本地非前綴索引可能增加可用性,也更加實用。例如表T(a, b)按a區間分區,若在b上建立本地索引,則當某個分區離線,僅查詢b的某個值時,該索引可用,而索引(a, b)不可用;刪除索引(a, b),查詢(a, b)的某對值,b上的索引仍可用。此時若建立索引(b, a),則可應對各類查詢。

  在多表關聯(如上例中按照(a, b)值關聯)時,系統將發現代價較高而不會用到本地非前綴索引(如上例中(b, a))。

  因此建立本地索引時應當考慮通常的使用環境。

  2. 無法基於本地非前綴索引建立唯一鍵或主鍵。

  全局索引

  僅有一種,即全局前綴索引

  1. 數據倉庫環境

  在(與建立好相應索引的表)交換分區與索引或分割分區後,全局索引將失效而必須重建,因此全局索引並不適合數據倉庫。

  例如:

  ALTER TABLE partitioned

  EXCHANGE PARTITION fy_1999

  WITH TABLE fy_1999

  INCLUDING INDEXES

  WITHOUT VALIDATION;

  ALTER TABLE partitioned

  SPLIT PARTITION the_rest

  AT (TO_DATE(‘200101’, ‘yyyymm’))

  INTO (PARTITION fy_2000, PARTITION the_rest);

  2. OLTP環境

  一定程度上增加了可用性。當某些分區離線,不含有用於分區的列且合乎查詢條件的數據存在於在線分區的索引仍然是可用的,對於不需要查詢全表而是通過索引即可得到結果的查詢也是有效的(例如COUNT非用於分區的列等)。

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