本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7802939.html?templateId=1718516
**【标题】**in大量参数时查询性能慢
**【关键字】**in 大量参数 FAST FULL SCAN INDEX RANGE SCAN
**【问题描述】**测试表数据量200w,表结构如图,且在PHONE字段上创建了索引
测试SQL为:
select name,sum(id) from test1119 where phone in (...) group by name;
且in中的参数大于300个
该SQL直接运行时间:
【问题原因分析】
通过explain可以看到执行计划走了FFS,但是当前in大量参数的场景下走INDEX FAST FULL SCAN的性能低于走INDEX RANGE SCAN。
【解决/规避方法】
1、重新收集统计信息,检查收集统计信息后能否自动走上INDEX RANGE SCAN
2、如果仍然没有走上INDEX RANGE SCAN,则使用hint,修改SQL为:
走range scan的时间:毫秒级
**【影响范围】**23.2.8.100之前的所有版本
【修复版本】\-