Oracle數(shù)據(jù)庫常見對(duì)象mdash;索引和同義詞
一、索引
a)使用索引的優(yōu)點(diǎn)
i. 一種獨(dú)立于表的模式對(duì)象, 可以存儲(chǔ)在與表不同的磁盤或表空間中
ii. 索引被刪除或損壞, 不會(huì)對(duì)表產(chǎn)生影響, 其影響的只是查詢的速度
iii. 索引一旦建立, Oracle 管理系統(tǒng)會(huì)對(duì)其進(jìn)行自動(dòng)維護(hù), 而且由 Oracle 管
iv. 理系統(tǒng)決定何時(shí)使用索引. 用戶不用在查詢語句中指定使用哪個(gè)索引
v. 在刪除一個(gè)表時(shí), 所有基于該表的索引會(huì)自動(dòng)被刪除
vi. 通過指針加速 Oracle 服務(wù)器的查詢速度
vii. 通過快速定位數(shù)據(jù)的方法,減少磁盤 I/O
b)索引的創(chuàng)建方法
i. 自動(dòng)創(chuàng)建:在定義PRIMARY KEY或UNIQUE約束侯系統(tǒng)自動(dòng)在相應(yīng)的列上創(chuàng)建唯一性索引
ii. 手動(dòng)創(chuàng)建:用戶可以在其他列上創(chuàng)建非唯一的索引,,以加速查詢
c)創(chuàng)建索引的實(shí)例
i. 在一個(gè)或多個(gè)列上創(chuàng)建索引
Create index indexname on table (column[,column]….);
ii. 在表EMPLOYEES的列LAST_NAME上創(chuàng)建索引
Create index emp_last_name_idx on employees(last _name);
Index create.
d)索引的創(chuàng)建時(shí)期
i. 要?jiǎng)?chuàng)建索引情況
1.列中數(shù)據(jù)分布范圍很廣
2.列經(jīng)常在where子句或連接條件中出現(xiàn)
3.表經(jīng)常被訪問而且數(shù)據(jù)量很大,訪問的數(shù)據(jù)大概站數(shù)據(jù)總量的2%到4%
ii. 不要?jiǎng)?chuàng)建索引情況
1.表很小
2.列不經(jīng)常作為連接條件或出現(xiàn)在where子句中
3.查詢的數(shù)據(jù)大概2%到4%
4.表經(jīng)常更新
e)查詢索引
i. 可以使用數(shù)據(jù)字典視圖 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權(quán)限的用戶才可以刪除索引
二、同義詞
a)使用索引的優(yōu)點(diǎn)
i. 方便訪問其他用戶的對(duì)象
ii. 縮短對(duì)象名字的長(zhǎng)度
iii. CREATE [PUBLIC] SYNONYM synonym
iii.FOR object;
b)創(chuàng)建同義詞
i. 為視圖DEPT_SUM_VU創(chuàng)建同義詞
CREATE SYNONYM d_sum
FOR dept_sum_vu;
Synonym Created.
c)刪除同義詞
DROP SYNONYM d_sum;
Synonym dropped.
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com