Oracle數據庫常見對象mdash;索引和同義詞
一、索引
a)使用索引的優點
i. 一種獨立于表的模式對象, 可以存儲在與表不同的磁盤或表空間中
ii. 索引被刪除或損壞, 不會對表產生影響, 其影響的只是查詢的速度
iii. 索引一旦建立, Oracle 管理系統會對其進行自動維護, 而且由 Oracle 管
iv. 理系統決定何時使用索引. 用戶不用在查詢語句中指定使用哪個索引
v. 在刪除一個表時, 所有基于該表的索引會自動被刪除
vi. 通過指針加速 Oracle 服務器的查詢速度
vii. 通過快速定位數據的方法,減少磁盤 I/O
b)索引的創建方法
i. 自動創建:在定義PRIMARY KEY或UNIQUE約束侯系統自動在相應的列上創建唯一性索引
ii. 手動創建:用戶可以在其他列上創建非唯一的索引,,以加速查詢
c)創建索引的實例
i. 在一個或多個列上創建索引
Create index indexname on table (column[,column]….);
ii. 在表EMPLOYEES的列LAST_NAME上創建索引
Create index emp_last_name_idx on employees(last _name);
Index create.
d)索引的創建時期
i. 要創建索引情況
1.列中數據分布范圍很廣
2.列經常在where子句或連接條件中出現
3.表經常被訪問而且數據量很大,訪問的數據大概站數據總量的2%到4%
ii. 不要創建索引情況
1.表很小
2.列不經常作為連接條件或出現在where子句中
3.查詢的數據大概2%到4%
4.表經常更新
e)查詢索引
i. 可以使用數據字典視圖 USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息
i. SELECT ic.index_name, ic.column_name,
i.ic.column_position col_pos,ix.uniqueness
i.FROM user_indexes ix, user_ind_columns ic
i.WHERE ic.index_name = ix.index_name
i.AND ic.table_name = 'EMPLOYEES';
f) 刪除索引
i. 使用DROP INDEX 命令刪除索引
DROP INDEX index;
ii. 刪除索引UPPER_LAST_NAME_IDX
DROP INDEX upper_last_name_idx;
iii. 只有索引的擁有者或擁有DROP ANY INDEX權限的用戶才可以刪除索引
二、同義詞
a)使用索引的優點
i. 方便訪問其他用戶的對象
ii. 縮短對象名字的長度
iii. CREATE [PUBLIC] SYNONYM synonym
iii.FOR object;
b)創建同義詞
i. 為視圖DEPT_SUM_VU創建同義詞
CREATE SYNONYM d_sum
FOR dept_sum_vu;
Synonym Created.
c)刪除同義詞
DROP SYNONYM d_sum;
Synonym dropped.
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com