这篇文章讲述的是数据库中的索引index对象,如有不当或者错误之处还望各位大神批评指教。
什么是索引?
- 索引也是数据库中的一个对象,它独立于表结构,主要作用是用来提高查找的速度。
索引适用范围
适用索引的情况
- 列中的值的分布范围很广时
- 经常在WHERE子句或连接条件中出现时
- 表经常被访问并且数据量巨大,访问的数据大概占2%-4%时
不适用索引
- 表很小时
- 列不经常在WHERE子句或连接条件中出现时
- 查询数据大于2%-4%时
- 表经常更新时
创建索引
- 方式一:自动创建,在定义主键或者unique约束后系统会自动在相对应的列加上唯一的索引。
方式二:手动创建,用户也可以在其它非主键或唯一属性上添加上索引以便于提高查新的速度。
例:创建表t_index,字段:id、name , 并为name创建索引
create table t_index(
id number(6) primary key not null ,
name varchar(200) not null
)
-- 索引
create index t_index_name_ix
on t_index(name)
注:创建好索引之后,在执行查询name的时候oracle系统会自动在index中查找,这样就可以提高效率。
删除索引
- 删除索引t_index_name_ix
drop index t_index_name_ix