(1)百万数据查询优化---分组优化
1, 使用MySQL查询时,如果是普通的查询的话可能效率会很低,先上效果
这是图中已经建立的索引,我们留下主键索引去掉brand_name的索引,下图是留下的主键索引
接下来先查看一下第一条sql语句的执行
可以看到sql执行的时间已经达到了8秒之多,这样的sql客户肯定很难忍受,接下来再看一下sql的执行计划中查询访问类型达到达到了那个级别,先展示一下查询类型的优先级
type:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
可以看到当前查询的type级别是最低的,也就是说我们的sql的效率是很低的,接下来开始一点一点解决sql执行慢的问题,在做分组查询时先要排查自己经常用的那个字段来做分组查询,并对其建立索引,建完索引后在查看一下执行效率是否有所提升,我对字段brand_name添加了索引,接下来看一下效率是否有提升
可以看到建完索引之后对brand_name字段分组的时间有明显提升,再查看一下type的级别
这时type级别也达到了index级别
好了,mysql学习先到这儿