哪个mysql系统变量影响group by子句?

时间:2017-09-12 12:16:24

标签: mysql performance

我在动态字段上应用group by 哪个mysql系统变量提高了速度?

例如:tmp_table_size或max_heap_table_size或任何其他......

我的表大小为700 MB,解释给我“使用索引条件;使用临时;使用filesort”

我的查询如下:

    SELECT 
      IF(
        flag IN ('A', 'B') 
        'featured',
        'normal'
      ) AS package,
      IF(
        flag2 = 'A',
        'group1',
        'group2'
      ) AS group_num,
      COUNT(*) AS total 
    FROM
      mytable
    WHERE publish = 1 
      AND status IN ('on', 'deleted', 'expired',) 
    GROUP BY customized_flag,
      agency_package_status ;

1 个答案:

答案 0 :(得分:1)

可能加速查询的唯一内容是

INDEX(publish, status) -- in that order.

这可能会过滤到700MB的一小部分。

您的GROUP BY已损坏 - 您将无法预测'输出中group_num的值,因为它似乎不依赖于customized_flagagency_package_status