GreatSQL社区

搜索

[已解决] case 很慢

370 1 2023-12-11 15:44
mysql8.0.16 Linux7 3表关联,a 500行,b 6000行  c 20000行  。在使用case 的很慢,不是case 就很快正常查询出来。请问使用case时需要调整什么参数吗。最大的表9M
全部回复(1)
KAiTO 2023-12-28 17:39:49
检查是否适合添加索引,为WHERE、JOIN和CASE语句中的列添加适当的索引,可以大幅提升多表连接查询性能。
2.调整join_buffer_size大小,增加join缓存区大小,默认128KB可以适当调大。

调整tmp_table_size和max_heap_table_size,增大内存临时表区大小。
提高read_rnd_buffer_size,增加排序缓存区。
适当提高read_buffer_size,读入缓冲区区。
调整optimizer_switch,设置case_cond_mismatch=on,让优化器可以重新ordering。
分析是否需要拆分CASE表达式,简化查询逻辑。
xiebin

5

主题

0

博客

12

贡献

新手上路

Rank: 1

积分
19

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-7 17:03 , Processed in 0.017934 second(s), 12 queries , Redis On.
快速回复 返回顶部 返回列表