MySQL 索引排序规则
索引的顺序要遵循三个规则
1.要遵循最左前缀 无论是多个还是一个列的索引 都不应该跳过最左列 如果在查询语句当中 没有使用最左前缀的字段 就不会使用索引
2.不能跨越索引列
3.索引进行模糊查询 范围查询 ,右边的所有列都无法使用索引优化
mysql默认索引类型
Hash索引:将索引字段转化为hashcode,在对hashcode进行排序。仅支持Memory引擎。
1. 普通索引:最基本的索引,它没有任何限制,用于加速查询。
2. 唯一索引unique:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。
3. 主键索引: 是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引。
4. 空间索引Spatial :空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。创建空间索引的列,必须将其声明为NOT NULL,空间索引只能在存储引擎为MYISAM的表中创建
MYSQL数据库索引类型都有哪些
MYSQL数据库索引类型主要分为普通索引、唯一索引、主键索引、全文索引、空间索引等。
普通索引是最基本的索引类型,可以加速查询;唯一索引要求列的值唯一,避免数据重复;主键索引是唯一索引的特例,要求列的值唯一且不能为空;全文索引可以对文本内容进行搜索;空间索引可以对空间数据进行搜索。选择合适的索引类型可以提高查询效率和数据的查询性能。