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 表名
谁的值大,说明这一些列的离散度更高!
如何选择合适的列创建索引?
最新推荐文章于 2024-06-27 16:42:16 发布
本文探讨了SQL查询优化的关键——索引的选择与使用。重点介绍了如何根据列的离散度来决定索引的顺序,通过具体示例展示了如何判断列的离散度,并解释了为何这在提高查询效率上至关重要。
1360

被折叠的 条评论
为什么被折叠?



