索引按类型可分为Normal/Unique/Full Text,按方式可分为BTree/Hash。
MyISAM和InnoDB存储引擎的表默认创建的都是BTree索引。
Memory存储引擎的表默认创建Hash索引,也支持BTree索引。
索引设计原则:
- 最适合索引的列是出现在Where子句或连接子句中指定的列
- 在列值分布较大的列上使用唯一索引(比如生日字段,大多数记录的值都不同),索引效果较好
- 如果对字符串列加索引,应该指定一个前缀长度(例如char(200)列,如果前10个字符子串多数是唯一的,就对前10个字符加索引)
- 不要过多使用索引