程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 保持Oracle數據庫優良性能的若干訣竅

保持Oracle數據庫優良性能的若干訣竅

編輯:Oracle數據庫基礎
如今,Oracle數據庫以其高可靠性、安全性、可兼容性,得到越來越多的企業的青睐。如何使Oracle數據庫保持永久的優良性能,讀者不妨針對以下若干方面加以考慮。

分區
根據實際經驗所得,在一個大數據庫中,數據庫空間的絕大多數是被少量的表所占有。如何簡化大數據庫和管理,如何改善應用的查詢性能,一般可以使用分區這種手段。所謂分區就是動態地將表中記錄分離到若干不同的表空間上,使數據在物理上被分割開來,便於維護、備份、恢復、事務及查詢性能。當使用的時候可建立一個連接所有分區的視圖,使其在邏輯上仍以一個整體出現。
1、建立分區表
Create table Employee (
EmpNo varchar2(10) primary key,
Name varchar2(30),
DeptNo Number(2)
)
Partition by range(DeptNo)
(
partition PART1 values less than (11)
tablespace PART1_TS,
partition PART2 values less than (21)
tablespace PART2_TS,
partition PART3 values less than (31)
tablespace PART3_TS
partition PART4 values less than (MAXVALUE)
tablespace PART4_TS
);
表Employee依據DeptNo列進行分區。
2、分區索引
Create index Employee_DeptNo on Employee(DeptNo)
local (
partition PART1 tablespace PART1_NDX_TS,
partition PART2 tablespace PART2_NDX_TS,
partition PART3 tablespace PART3_NDX_TS,
partition PART4 tablespace PART4_NDX_TS,
);
當分區中出現許多事務並且要保證所有分區中的數據記錄的唯一性時采用全局索引,如:
Create index Employee_DeptNo on Employee(DeptNo)
global partition by range (DeptNo)
(
partition PART1 values less than (11)
tablespace PART1_NDX_TS,
partition PART2 values less than (21)
tablespace PART2_NDX_TS,
partition PART3 values less than (31)
tablespace PART3_NDX_TS
partition PART4 values less than (MAXVALUE)
tablespace PART4_NDX_TS
);
在建立全局索引時,global子句允許指定索引的范圍值,這個范圍值可以不同於表分區的范圍值。只有建立局部索引才會使索引索引分區與表分區間建立起一一對應關系。因此,在大多數情況下,應該使用局部索引分區。若使用了此索引,分區就能夠很容易地將索引分區與表分區建立關聯,局部索引比全局索引更易於管理。
3、分區管理
根據實際需要,還可以使用 alter table 命令來增加、丟棄、交換、移動、修改、重命名、劃分、截短一個已存在分區的結構。

Rebuild Indexes
如果表中記錄頻繁的被刪除或插入,盡管表中的記錄總量保持不變,索引空間的使用量會不斷增加。雖然記錄從索引中被刪除,但是該記錄索引項的使用空間不能被重新使用。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved