索引的引入:
创建索引的主要原因是,索引可以提高检索数据的速度。对于有依赖关系的父子表联合查询时,可以提高查询速度;使分组和排序字句在进行数据查询时显著提高节点查询分组和排序的时间。
索引的概念:
索引是一种特殊的数据库结构,用于快速查询数据库表中的数据,是数据库中提高查询性能的重要方式。索引是创建在表上的,一个索引针对表中一列或者多列的值进行排序,索引在查询数据时无需读完所有数据,所以可以提高查询速率。
索引的缺点:
创建索引和维护索引需要耗费时间,并且索引需要占用物理空间,每一个索引都会占用空间,所以在进行增删改操作时会变更索引,使得维护时间延长。
索引的分类:
普通索引: index,可以有空值,允许重复
唯一索引:unique index 允许有空值,不能重复
全文索引: char,varchar,text
单列索引:index(enmae)
多列索引:index(lastsal,firstsal)
空间索引:myisam 引擎中有
创建索引有三种方式:
1.创建表时创建索引(最简单方便)
2.在已经存在的表上创建索引
3.使用alter table 语句创建索引
删除索引:
drop index 索引名 on 表名
作用:删除已经不再使用的索引,提高数据库行能。
索引的设计原则:
选择唯一性索引,选择经常需要排序分组和联合操作的字段创建索引,选择经常作为查询条件的字段创建索引;限制索引的数目,因为维护索引需要时间成本,查询数据少的字段最好不要创建索引,删除不需要的索引。