oralce資料庫索引

2021-07-25 15:45:29 字數 2118 閱讀 8222

例如有如下表:test_tbid

name

***rowid

1zhangsan

0******1

2limei

1******2

3haungqing

0******3

如果在該表中不存在任何索引,那麼在查詢某一條記錄,例如姓名為limei的人,因為查詢到乙個後下面不確定是否還存在姓名為limei的人,因此會進行全表掃瞄查詢。

而如果該錶的姓名欄位上存在索引的情況下,那麼會存在這麼一張索引表:

name

rowid

haungqing

******3

limei

******2

zhangsan

******1

索類分類

唯一索引和非唯一索引,唯一索引則不允許索引列值重複, 非唯一索引可以重複,一般不建議使用唯一索引,而是通過約束來控制列是否執行重複。 索引

單列索引和復合索引,顧名思義,復合索引是多列組成的索引,單列索引則僅一列 ,如果是復合索引,則經常查詢的列應該在最前面,因為如果建立了c1,c2,c3三列復合索引,單獨使用其中的某一列,例如僅僅查詢c1或者c1和c2,則都可以通過該索引提高查詢速度,但如果僅僅訪問c2或者c2和c3,則無法使用該復合索引。

標準索引即b樹索引,而唯一索引非唯一索引就是針對b樹索引來說的

位圖索引,常用於某個列基數比較小的列上,例如test_db中***列,基數為0和1,若用b樹索引的話會返回大量資料,效率會很低。

資料庫生成的點陣圖索引表如下 男女

rowid10

******101

******210

***xx3

5. 函式索引,即在函式,例如substr()函式上建立索引,例如姓名列,如果要查詢的行中姓名忽略大小寫,那麼如果查詢條件姓名是zhangsan,那麼zhangsan就不會被查到,如果用upper(name)=『zhangsan』來轉換為

大寫,則可以完成忽略大小寫,但此時在name列上的索引卻無法使用,因此需要建立函式索引來解決此類問題。

建立索引

create [unique] |[bitmap] index index_name

on table_name([col1 [asc,desc],col2[asc,desc]......]|[express])

[tablespace tablespace_name]

[pctfree n1]

[storage (initial n2)]

[nologging]

[online]

[compute statistics]

[nosort]

例項1,建立b樹索引,即oracle預設索引:

create index index_test_tb on test_tb(name);
例項2,建立位圖索引:

create mitmap index bindex_test_tb on test_tb(***);
例項3,建立函式索引(可以是b樹索引或者位圖索引):

create index funindex_test_db on test_db on test_db upper(name);
修改索引

alter index index_name rename to new_index_name;
合併索引

alter index index_name coalesce;
重建索引,使用rebuild關鍵字

alter index index_name rebuild tablespace tablespace_name;
刪除索引

drop index index_name;

ORALCE資料庫監控指令碼

最近在做資料庫segment的資訊監控,具體什麼意思不是很明白,就是段的意思,總而言之就是監控你的資料庫的一些資訊,看看表空間增長如何,哪些表的行數,索參數量,就好像乙個pl sql一樣,指令碼都來自網上的蒐集指令碼,我不是dba不是很懂這些,只是做了些簡單的關聯資訊,供大家看看,有更好的建議可以提...

Oralce資料庫表資料還原

在執行插入 更新 刪除等操作時,容易產生誤操作,導致資料庫中的內容被修改,通過普通的sql操作無法還原,則可採用oralce資料庫表的閃回機制,將表資料還原到某個時間點,具體如下 先查詢某個時間點的資料是否為要還原的資料 select from tablename as of timestamp t...

資料庫 ORALCE 匯入 匯出資料

exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。imp只適用於exp匯出的檔案,不適用於expdp匯出檔案 impdp只適用於expdp匯出的檔案,而不適用於exp匯出檔案。cm...