oracle10g系統管理之索引建立的原則

2021-08-24 18:36:27 字數 1304 閱讀 3205

1.

索引索引是用於加速資料訪問的資料庫物件。合理地使用索引可以大大降低

i/o次數從而提高資料訪問效能。

2.按照儲存方式分類:

1)b*-

樹索引2)

反向索引

3)位圖索引

按照索引列的個數:

1)單列索引

2)復合索引

按照索引列值的唯一性

1)唯一索引

2)非唯一索引

3.單列索引和復合索引:

單列索引是基於單個列所建立的索引;復合索引是基於兩列或多列所建立的索引。可以在同一張表上建立多個索引,但是要求列的組合必須不同,列的順序不同也可以。

create index emp_idx1 on emp(ename,job);

4.唯一索引和非唯一索引

唯一索引是索引列值不能重複的索引;非唯一索引是索引列值可以重複的索引。無論是唯一索引還是非唯一索引,索引列都允許

null

。當定義主鍵約束和唯一約束時,

oracle

都會自動在相應的約束列上建立唯一索引。

5.索引管理的指導方針

1)使用

oracle

工具sql*loader

、impdp

和imp

裝載資料時,應該先導入資料,後建立索引。

2)索引正確的表和列

建立和規劃索引時,必須選擇合適的表和列。如果選擇的表和列不合適,不僅無法提高查詢速度,反而會極大地降低

dml操作的速度。建立索引的指導方針如下:

a.索引經過建立在

where

子句經常應用的表列上。如果在大表上頻繁使用某列或者幾列作為條件執行索引操作,並且檢索操作行數低於總行數的

15%,那麼應該考慮在這些列上建立索引。

b.為了提高多表連線的效能,應該在連線列上建立索引。

c.不要在小表上建立索引。

d.如果經常基於某列或某幾列執行排序操作,那麼通過這些列上建立索引,可以加快資料排序的速度。

3)限制表的索引個數

索引主要用於加速查詢速度,但會降低

dml操作的速度。索引越多,

dml操作的速度越慢,尤其會極大影響

insert

操作和delete

操作的速度。因此規劃索引時,必須仔細權衡查詢和

dml的需求。

4)使用

nologing

選項建立索引

5)建立索引時,既可以將索引和基表放在相同的表空間中,也可以放在不同的表空間中。將表和索引部署到相同表空間中,可以簡化表空間的管理。將表和索引部署到不同表空間,可以提高效能。

oracle10g系統管理之段

1.段用於儲存特定物件的所有資料,它是由乙個或多個區組成的。當建立表,索引,和簇等物件時,oracle 會為這些物件分配儲存空間,以存放它們的資料資訊。2.表段,用於儲存表的所有資料,其名稱與表明相同。建立表時,oracle 會為該錶建立相應的表段,並且表段只能存放在乙個表空間中。3.表分割槽段,用...

oracle10g系統管理之角色

1.角色是相關許可權的命名集合,使用角色的主要目的是簡化許可權管理。2.connect 角色執行 sql.bsq 自動建立的角色,該角色具有應用開發人員所需的多種許可權。系統許可權 作用alter session 修改會話引數配置 create table 建表create view 建立檢視 cr...

oracle10g系統管理之序列

1.建立序列 create sequence deptno seq start with 50 increment by 10 maxvalue 99 cache 10 2.使用序列 insert into dept deptno,dname,loc 3.修改序列 alter sequence de...