索引
索引不需要用,只是说我们在用name进行查询的时候,速度会更快。当然查的速度快了,插入的速度就会慢。因为插入数据的同时,还需要维护一个索引。
① 一种独立于表的模式对象,可以存储在与表不同的磁盘或表空间中。
② 索引被删除或损坏,不会对表产生影响,其影响的只是查询的速度。
③ 索引一旦建立,Oracle管理系统会对其进行自动维护,而且由 Oracle管理系统决定何时使用索引。用户不用在查询语句中指定使用哪个索引。
④ 在删除一个表时,所有基于该表的索引会自动被删除。
⑤ 通过指针加速Oracle服务器的查询速度。
⑥ 通过快速定位数据的方法,减少磁盘I/O。
一、创建索引
自动创建:在定义PRIMARY KEY或UNIQUE约束后系统自动在相应的列上创建唯一性索引。
手动创建:用户可以在其它列上创建非唯一的索引,以加速查询。
CREATE INDEX 索引名
ON 表名(列名);
二、查询索引
可以使用数据字典视图USER_INDEXES和USER_IND_COLUMNS查看索引的信息。
SELECT ic.index_name,ic.column_name,ic.column_position,ix.uniqueness
FROM user_indexes ix,user_ind_columns ic
WHERE ic.index_name = ix.index_name
AND ic.table_name = 'EMPLOYEES';
三、删除索引
使用DROP INDEX命令删除索引。
只有索引的拥有者或拥有DROP ANY INDEX权限的用户才可以删除索引。
DROP INDEX 索引名;