1、索引的含义和特点
索引是创建在表上得,是对数据库表中一列或者多列的值进行排序的一种结构。索引可以提高
查询的速度;
2、索引存储类型
索引有两种存储类型,包括B型树(BTREE)索引和哈希(HASH)索引。
InnoDB 和 MyISAM 存储引擎支持 BTREE索引,MEMORY 存储引擎支持 HASH 索引和BTREE索引,
默认前者;
3、索引的优势和劣势
优势:可以提高检索数据的速度,这是创建索引的最主要的原因;
劣势:创建和维护索引需要耗费时间,且随着数据量的增加而增加;索引需要占据物理空间,
每个索引占据一定的物理空间,增/删/改数据时候,需要动态维护索引,造成数据维护速度降低;
4、索引的分类
1、普通索引
2、唯一索引
3、全文索引
4、单列索引
5、多列索引
6、空间索引
5、索引设计原则
1、选择唯一索引
2、为经常需要排序的、分组和联合操作的字段建立索引
3、为常作为查询条件的字段建立索引;
4、限制索引的数据
5、尽量使用数据量少的索引
6、尽量使用前缀来索引
7、删除不在使用或者使用很少的索引