tidb select in最多支持in列表里有多少个元素

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
TiDB 5.2.2

【概述】 场景 + 问题概述

【背景】 需要MySQL迁移到TiDB

【现象】 tidb select in最多支持in列表里有多少个元素

【问题】 tidb select in最多支持in列表里有多少个元素

【业务影响】 暂无

【TiDB 版本】 TiDB 5.2.2

【应用软件及版本】 PHP

in值应该没有限制,但是sql长度有限制的
可以参考下这里

开发规范中,建议in的元素不超过300,至于能有多少个,应该是只要不超过单个sql内存和长度上限就行吧,我们之前in里面写过上万个元素。

  • 索引的最佳实践
    查询条件使用 IN 表达式时,后面匹配的条件数量建议不要超过 300 个,否则执行效率会较差。

实际中查的 in的字段,可以根据实际情况适当放大。千级别的应该没有问题。
这个多数应该考虑传输的字节大小,tidb是否完整解析。

原则上不超过sql长度都行,但不建议太多

in里面上万个?执行效率有问题吗?

虽然mysql和tidb一样虽然没有像Oracle那样限制个数,但是有长度。
尽管没限制,但是建议不要太多,tidb用的最多的我没见过,mysql我见过in了60万个。效果很不好。

60W … 很强大… :joy:

:joy:当然有,这种情况还是要减少in的元素,不然执行效率太低了

能in60w个,佩服

:grinning::grinning:

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。