Oracle数据库常见对象—索引和同义词

 Oracle数据库常见对象—索引和同义词

一、索引

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.

你可能感兴趣的:(oracle数据库)