MYSQL执行计划的type有几种?按照级别倒序分别列出?
时间: 2023-12-06 14:40:58 浏览: 35
MySQL执行计划中的type共有8种,按照级别倒序列出如下:
1. `system`:表中仅有一行记录(等于系统表),这是const类型的特例。
2. `const`:通过索引一次就找到了,const用于比较primary key或者unique索引。因为只匹配一行数据,所以很快。
3. `eq_ref`:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描。
4. `ref`:非唯一性索引扫描,返回匹配某个单独值的所有行。本质上也是一种索引访问,它返回所有匹配某个单独值的行,然而它可能会找到多个符合条件的行,所以它应该属于查找和扫描的混合体。
5. `range`:只检索给定范围的行,使用一个索引来选择行。key列显示使用了哪个索引。此类型通常出现在where子句中,只有部分索引被使用,返回匹配一个范围的行。
6. `index`:Full Index Scan,索引全扫描,把索引从头到尾扫描一遍。
7. `all`:Full Table Scan,将遍历全表以找到匹配的行。
8. `NULL`:无法使用索引查找,必须遍历整个表。
相关问题
Mysql中有哪几种事务的隔离级别?
在MySQL中,有四种事务的隔离级别,分别是读未提交(Read Uncommitted)、读提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。其中,读未提交隔离级别最低,最不严谨,而串行化隔离级别最高,最严谨。不同的隔离级别对应不同的数据并发访问方式,具体的应用场景需要根据实际情况进行选择。
mysql的有哪几种索引?
MySQL支持以下几种类型的索引:
1. B-Tree索引(默认情况下):B-Tree索引是一种常见的索引类型,用于快速查找具有特定值的记录。B-Tree索引适用于所有数据类型,并可以使用前缀索引。
2. 哈希索引:哈希索引基于哈希算法构建,它使用哈希函数将索引列值映射到哈希表中的一个位置。哈希索引适用于等值比较(例如,使用“=”或“IN”操作符)的查询,但不支持范围查找和排序操作。
3. 全文索引:全文索引用于全文搜索,它可以在文本数据中查找关键字和短语。全文索引只适用于字符数据类型(如CHAR、VARCHAR和TEXT),并且需要使用MyISAM存储引擎。
4. 空间索引:空间索引用于处理基于空间位置的查询,如地理信息系统(GIS)应用程序中的查询。空间索引只适用于具有空间数据类型(如POINT、LINESTRING和POLYGON)的列,并且需要使用MyISAM存储引擎。
5. 全文空间索引:全文空间索引是全文索引和空间索引的组合,它可以在文本数据中查找关键字和短语,并且可以处理基于空间位置的查询。全文空间索引只适用于具有空间数据类型(如POINT、LINESTRING和POLYGON)和字符数据类型(如CHAR、VARCHAR和TEXT)的列,并且需要使用MyISAM存储引擎。