索引是存放在模式中的一个数据库对象,在数字字典中独立存放,但不能独立存在,一个索引必定归属某一个表,其唯一作用就是加速对表的查询,就好比一本厚厚的书有了一个目录,可以根据目录快速定位到需要的位置,索引通过快速路径访问方法来快速定位数据,减少磁盘的I/O
索引的创建的两种方法
- 自动被创建----当表上被定义主键约束、唯一约束和外键约束时,系统自动为该数据列创建对应的索引
- 手动被创建----通过 create index [索引名称] on [表名] (列名) 语法创建索引
对应的删除方法也为两种
- 自动被删除----当某表被删除后,该表对应的索引被自动删除
- 手动被删除----通过 drop index … 语法删除索引
下列语句能加快系统对’student’表的stu_name字段的查询速度
create index stu_name_index on student(stu_name)
下面语句能同时对多列添加索性
create index stu_name_age on student(stu_name,stu_age)
删除表中某个索引
drop stu_name_index on student
当一个东西有了他的优点的同时,也伴随着缺点.好比书的目录,当书中的某个信息被修改或者被删除时,对应的目录也需要做出相应的改变,而且因为有了目录,所以书会平白无故的多出几页…
- 当数据库表记录被修改、删除、添加时,此时需要对相应的索引进行维护,此时需要花费一定的系统开销
- 索引存储占一定的磁盘空间