陕西建设主管部门网站,2024百度下载,辽宁省住房和城乡建设厅,深圳网站制作品牌祥奔科技type索引类型 system const eq_ref ref range index all 优化级别从左往右递减#xff0c;没有索引的⼀般为’all’。推荐优化目标#xff1a;至少要达到 range 级别#xff0c; 要求是 ref 级别#xff0c; 如果可以是 const 最好#xff…type索引类型 system const eq_ref ref range index all 优化级别从左往右递减没有索引的⼀般为’all’。推荐优化目标至少要达到 range 级别 要求是 ref 级别 如果可以是 const 最好index比all更优但是并不明显性能都很差。
Type级别说明
1、system级别
只有一条数据的系统表或衍生表只能有一条数据的主查询
这是const类型的特列实际开发中难以达到基本不会出现。
2、const级别
当使用 主键 或 唯一索引 进行等值查询时
实例
表结构
CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,age int(11) NOT NULL,PRIMARY KEY (id),UNIQUE KEY user_name_IDX (name) USING BTREE
) ENGINEInnoDB AUTO_INCREMENT2 DEFAULT CHARSETutf8
Primary key
explain select * from user u where id1 unique索引
explain select * from user u where namezhangsan 3、eq_ref级别
当联表查询的关联字段为唯一索引或者主键时
实例
表结构
CREATE TABLE user_job (id int(11) NOT NULL,userId int(11) NOT NULL,job varchar(255) DEFAULT NULL,name varchar(255) DEFAULT NULL,PRIMARY KEY (id),KEY idx_name (name) USING BTREE,KEY user_job_userId_IDX (userId) USING BTREE
) ENGINEInnoDB DEFAULT CHARSETutf8
数据输出结果
explain select uj.id ,u.name ,uj.job from user_job uj left join user u on uj.userId u.id 4、ref级别
当联表查询的关联字段或者单表查询的筛选字段为普通索引时
实例
表结构
CREATE TABLE user_job (id int(11) NOT NULL,userId int(11) NOT NULL,job varchar(255) DEFAULT NULL,name varchar(255) DEFAULT NULL,PRIMARY KEY (id),KEY idx_name (name) USING BTREE,KEY user_job_userId_IDX (userId) USING BTREE
) ENGINEInnoDB DEFAULT CHARSETutf8
输出结果
explain select * from user_job uj where name xx 5、range级别
使用主键或者索引进行范围查询时常用范围查询 between , in , , , )in有时会失效为ALL
实例
表结构
CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,age int(11) NOT NULL,PRIMARY KEY (id),UNIQUE KEY user_name_IDX (name) USING BTREE,KEY user_age_IDX (age) USING BTREE
) ENGINEInnoDB AUTO_INCREMENT5 DEFAULT CHARSETutf8 输出结果
explain select * from user u where id1 explain select * from user u where name in(zhangsan,lisi) explain select * from user u where age BETWEEN 10 and 20 6、index级别
遍历索引树把索引的数据全部查出来
explain select id,name from user u explain select age from user u 7、ALL级别
当不使用任何索引和主键时进行全表扫描
explain select * from user u