为什么使用索引
存储引擎用于快速查找数据记录的一种数据结构,MYSQL进行数据查找时,先通过查询条件是否命中某条索引,符合则通过索引查找相关数据,不符合则需要全表扫描,目的是为了减少磁盘I/O次数,加快查询效率
概述
索引的本质是数据结构,可以简单理解为排好序查找数据结构,满足特定的查找算法,索引实在存储引擎中实现的,因此没中存储引擎不一定相同,也不一定支持所有索引类型,存储引擎可以定义每个表的最大索引书和最大索引长度,最少16个索引,总索引长度至少256字节,
优点
降低数据库的I/O成本
创建唯一索引确保每行数据的唯一性
加速表和表之间连接,子表和父表联合查询时提高速度
使用分组排序自居进行查询时,减少分组和排序时间降低CPU消耗
缺点
创建和维护耗费时间,锁着数据量增加,耗费时间也会增加
需要占据磁盘空间,除了数据表站数据空间之外,每一个索引还要占据物理空间,存储在磁盘上
降低更新表速度,
最好的办法是先删除表中的索引,然后插入数据,再创建索引