MariaDB组的速度比MySQL慢

MariaDB组的速度比MySQL慢,mysql,group-by,mariadb,Mysql,Group By,Mariadb,这个查询在MySQL上以2.5s的速度返回,在MariaDB上以13.5s的速度返回。 这是一个很大的表,所以我只选择了一小部分200万行的数据 我在多台服务器上进行了尝试,结果总是大致相同,我遗漏了什么 为什么MariaDB会慢得多 SELECT yyyymmdd, customer_id, product_id, sum(qty), sum(value) FROM large_table

这个查询在MySQL上以2.5s的速度返回,在MariaDB上以13.5s的速度返回。 这是一个很大的表,所以我只选择了一小部分200万行的数据

我在多台服务器上进行了尝试,结果总是大致相同,我遗漏了什么

为什么MariaDB会慢得多

    SELECT yyyymmdd,
           customer_id,
           product_id,
           sum(qty),
           sum(value)
    FROM large_table
    WHERE yyyymmdd >= 20180101
      AND yyyymmdd < 20180201
    GROUP BY 1,2,3
    ORDER BY NULL
选择yyyymmdd,
客户识别码,
产品标识,
总数(数量),
总和(价值)
从大桌子
其中yyyymmdd>=20180101
和yyyymmdd<20180201
按1,2,3分组
按空排序
注意:我尝试过索引不同的组合等,但没有什么大的不同

解释Mysql:

解释Mariadb:


我无法解释MySQL和MariaDB之间的性能差异,但我可以建议使用以下索引,如果使用这些索引,可能会提高这两个数据库的性能:

CREATE INDEX idx ON large_table (yyyymmdd, customer_id, product_id);

该索引涵盖了整个
WHERE
子句,如果您的日期范围相当具体,则该索引应该是一个候选索引。

使用select查询中的SQL\u BIG\u结果将其排序后,我现在得到的响应时间大致相同


另外,增加tmp_table_size和max_heap_table_size

是否可以包括两个表的解释计划?