gpt4 book ai didi

mysql - MySQL 按查询转置组是否可优化?

转载 作者:行者123 更新时间:2023-11-29 16:10:07 25 4
gpt4 key购买 nike

my_table 拥有 290M 行,我希望优化以下查询

select
col1,
col2,
group_concat(distinct case when col3=1 then col4 end) c1,
group_concat(distinct case when col3=2 then col4 end) c2,
...
group_concat(distinct case when col3=70 then col4 end) c70
from my_table
group by col1,col2
order by null

我已经尝试过运行像这样的较小查询,但整个事情更糟

select
col1,
col2,
group_concat(distinct case when col3=1 then col4 end) c1
from my_table
group by col1,col2
order by null

有办法吗?

最佳答案

这是一个困难的问题,因为您只查询一个表。我可以建议以下索引:

CREATE INDEX idx ON my_table (col1, col2, col3, col4);

MySQL可能选择使用此索引,因为对于每个 (col1, col2) 组,它可以执行索引扫描来查找 的每个值>col3,然后将 col4 的不同值连接在一起。

关于mysql - MySQL 按查询转置组是否可优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55334896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com