一、索引的优势与劣势
### --- 优点
——> 提高数据检索的效率,降低数据库的IO成本
——> 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗
### --- 缺点
——> 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
——> 索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间
——> 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度
### --- 创建索引的原则
——> 在经常需要搜索的列上创建索引,可以加快搜索的速度;
——> 在作为主键的列上创建索引,强制该列的唯一性和组织表中数据的排列结构;
——> 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;
——> 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
——> 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序
### --- 查询时间;
——> 在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。