sql优化问题,group by 多个列


SELECT
        type,
    store_name,
    store_id,
    business_type,
    business_type_desc,
    DATE_FORMAT(alipay_created_time,'%Y-%m-%d') as day,
    sum(in_amount) as in_amount,
    sum(out_amount) as out_amount
    FROM oms_alipay_record
    group by business_type, store_id, day

想请问下像这种group by 多个列的sql怎么优化,网上都搜了下很难

查询效率慢还是sql不美观

首先这几个字段就查不出来啊,优化哪方面要

img

建表的时候,给groupby的字段加索引,试试看会不会好点

stroe_id既然是id,可以尝试建唯一索引,如果不是唯一,就建普通索引,用 select distinct business_type from oms_alipay_record ,看看business_type的值是不是并不多,不多的话可以考虑建位图索引。如何建立索引可以自行百度,哈哈哈哈