之前一直对数据库索引不太理解,用的也比较少,刚好有项目需要用到索引。这里做一下简要小结。
我使用的是mysql,引擎为InnoDB。
索引的查看方式
show index from [tableName];
索引的类型(Index Type)
- normal普通索引(一般使用较多)
- unique唯一索引(字段的值唯一时使用)
- 主键索引(主键索引在建表确定主键后自动生成)
- fulltext全文索引
- spatial空间索引
tips:
- 索引可以建在一列或多列上,除非字段多次出现在同时And 语句左右,一般使用单列索引而非复合索引;
- 外键默认也会建立索引
索引的方式(Index Method)
- BTree(索引默认的方式,由于树的特性对范围查找有利)
- Hash(由于哈希表的特性,对唯一匹配查找有利,不能做范围查询)