1、普通索引:最基本的索引,没有限制,用于加快查询速度。
2.唯一索引:索引列的值必须是唯一的,但允许空值。 如果是复合索引,列值的组合必须是唯一的。
3、主键索引:是一种特殊的唯一索引。 一张表只能有一个主键,不允许有空值。 一般在建表的时候会同时创建主键索引。
4、空间索引:空间索引是建立在空间数据类型字段上的索引。 MYSQL中有4种空间数据类型,分别是POINT和. MYSQL 使用关键字进行扩展,这些关键字允许使用可用于创建常规索引类型的相同语法创建空间索引。要创建空间索引的列,必须将其声明为 NOT NULL。 空间索引只能在存储引擎为
5、全文索引:主要用于在文中查找关键词,而不是直接与索引中的值进行比较。 索引与其他索引有很大的不同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。
Hash索引结构的特殊性,其检索效率非常高,索引检索可以一次定位,不像B-Tree索引需要从根节点到分支节点,最后访问页面节点进行多次IO访问,所以Hash索引的查询效率远高于B-Tree索引。
很多人可能又会有疑问了。 既然Hash索引的效率比B-Tree高很多,为什么大家不用Hash索引代替B-Tree索引呢? 任何事物都有两个方面,Hash 索引也是一样的。 Hash索引虽然高效,但是由于其特殊性,Hash索引本身也有很多局限和不足,主要有以下几点。
(1)哈希索引