1. 在where 从句,group by 从句,order by 从句,on 从句中出现的列; 2. 索引字段越小越好; 3. 离散度大的列放到联合索引的前面;比如: select * from payment where staff_id = 2 and customer_id = 236; 针 ...
1. 在where 从句,group by 从句,order by 从句,on 从句中出现的列;
2. 索引字段越小越好;
3. 离散度大的列放到联合索引的前面;比如:
select * from payment where staff_id = 2 and customer_id = 236;
针对上面的查询是 index(sftaff_id, customer_id) 好?还是index(customer_id, staff_id)好?
因为customer_id的离散度更大,因此用后面的更合适!!
那么问题来了。怎么判断离散度呢,可以使用 select count(distinct customer_id), count(distinct staff_id) from 表名
谁的值大,说明这一些列的离散度更高!
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
相关文章:
-
-
-
-
实例详解mysql子查询
子查询分类按返回结果集分类子查询按返回结果集的不同分为4种:表子查询,行子查询,列子查询和标量子查询。 表子查询:返回的结果集是一个行的集合,n行n列(n>...
[阅读全文]
-
-
mysql主从复制配置过程
主库配置1. 配置mysqlvim /etc/my.cn# 在文件中增加以下内容server-id=1 # 保证server id唯一log-bin = /va...
[阅读全文]
-
-
-
-
MySQL 如何使用事务
基础知识事务是指对一组 sql 语句进行一个原子化的操作,即如果这一组 sql 语句中有一条发生错误,那么其他的同组 sql 就都不会被执行。你可以把它当作一个...
[阅读全文]
-
-
网友评论