mysql 索引类型 ref_Mysql 索引类型+索引方法

SELECT * FROM t_user where USERNAME="parry" and CITY="广州" and PHONE="180"SELECT * FROM t_user where USERNAME="parry" and CITY="广州"SELECT * FROM t_user where USERNAME="parry" and PHONE="180"

这样的查询语句是不会用到创建的组合索引,但是会走整个索引,只是效率低下

SELECT * FROM t_user where CITY="广州" and PHONE="180"

SELECT * FROM t_user where CITY="广州"

explain结果中的type字段。查询中分别是:

type: index   //没有按照复合索引顺序

type: ref       //按照顺序

index:这种类型表示mysql会对整个该索引进行扫描。要想用到这种类型的索引,只要是索引,或者某个联合索引的一部分,mysql都可能会采用index类型的方式扫描。但是呢,缺点是效率不高;

ref:这种类型表示mysql会根据特定的算法快速查找到某个符合条件的索引,不会对索引中每一个数据都进行一一的扫描判断,会更快的取出数据。索引字段的数据必须是有序的,才能实现这种类型的查找。

tip:虽然索引提高了查询的速度,但是降低了INSERT、UPDATE、DELETE(DML)的速度,因为在插入、修改、删除数据时&#

你可能感兴趣的:(mysql,索引类型,ref)