本文主要向大家介绍了Oracle数据库之oracle数据库-索引index,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
index :用来提高查询效率的机制
全表扫描方式( Full Table Scan ):查询效率极低
索引查询:比全表扫描快
索引的结构:数据+地址( 如:张三+Room203 )
注意:对于数据变更频繁(DML操作频繁)的表 , 索引会影响查询性能
自动创建索引:
如果数据表有PK/Unique两种约束,索引自动创建 , 除此以外,索引必须手动创建
自定义索引语法:
create index 索引名 on 表名(列名) ;
例:
表的主键和唯一约束条件 , 会自动创建索引
SQL> create table student_ning7(
id number(4),
name char(20),
email char(40),
constraint stu_n7_id_pk primary key(id),
constraint stu_n7_email_uk unique(email)
) ;
--注意查询时表名大写
SQL> select constraint_name
from user_constraints
where table_name = 'STUDENT_NING7' ;
-- 查询student_ning7表上的索引
-- 和主键/唯一约束条件同名 , 数据库自动创建的索引
SQL> select index_name from user_indexes
where table_name = 'STUDENT_NING7' ;
-- 凡是有约束条件的字段( 如id或email )上的查询 , 会使用索引
--这种查询用不到索引:全表扫描
SQL> select * from student_ning7
where name = 'zhangsan' ;
本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!