本文内容来自 YashanDB 官网,原文内容请见 https:///newsinfo/7802939.html?templateId=1718516
**【标题】**in 大量参数时查询性能慢
**【关键字】**in 大量参数 FAST FULL SCAN INDEX RANGE SCAN
**【问题描述】** 测试表数据量 200w,表结构如图,且在 PHONE 字段上创建了索引

测试 SQL 为:
<table cellspacing="0"><tbody><tr><td><p><span>select name,sum (id) from test1119 where phone in (...) group by name;</span></p><p><span > 且 in 中的参数大于 300 个 </span></p></td></tr></tbody></table>
该 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 之前的所有版本
【修复版本】-
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3058487/ ,如需转载,请注明出处,否则将追究法律责任。