数据库索引
一、使用索引的目的
目的:加快数据库的查询速度
二、建立索引的优缺点
优点:
1、大大加快数据的检索速度
2、创建唯一性索引,保证数据库表中每一行数据的唯一性
3、加速表和表之间的连接
4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点:
1、索引需要占用数据表以外的物理存储空间
2、创建索引和维护索引要花费一定的时间
3、当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度
三、索引类型
唯一索引
主键索引
聚集索引
四、索引的实现方式
B+树
散列索引
位图索引
五、哪些情况适合建索引,哪些不适合
适合建索引
1、在最频繁使用的、用以缩小查询范围的字段上建立索引
2、在频繁使用的、需要排序的字段上建立索引
不适合建索引
1、对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引
2、对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等
六、哪些情况下索引无法使用
1、以“%”开头的LIKE语句,模糊匹配
2、OR语句前后没有同时使用索引
3、数据类型出现隐式转化(如varchar不加单引号的话可能会自动转换为int型)