索引
1、什么是索引
1、索引用于快速找出在某个列中有一特定值的行,
2、不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,
3、表越大,查询数据所花费的时间就越多,
4、如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,
5、而不必查看所有数据,那么将会节省很大一部分时间
2、索引的优势与劣势
1、优势
类似大学图书馆建书目索引,提高数据检索效率,降低数据库的IO成本。
通过索引对数据进行排序,降低数据排序的成本,降低了CPU的消耗。
2、劣势
实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占空间的。
虽然索引大大提高了查询速度,同时确会降低更新表的速度,如对表进行INSERT、UPDATE、DELETE。
3、索引的分类
1、单值索引
即一个索引只包含单个列,一个表可以有多个单列索引。
2、唯一索引
索引列的值必须唯一,但允许有空值。