【发布时间】:2011-08-24 18:24:19
【问题描述】:
我想要实现的是:
- 提供批量选择机制 (
select * from users where user_id in (?, ?, ?, ?, ?))。例如,批量大小为 5。 - 使用绑定变量并保持批次大小一致
因此,如果应用程序需要 8 个不同 user_id 的用户,那么我将调用上述 SQL 两次,每次调用有 5 个参数(而不是一个调用有 5 个 user_id,然后使用 3 个)。
所以,如果输入大小小于批量大小,我需要 填充 user_ids。我想知道在性能方面什么是好的填充方案:
- 使用空值?
- 使用第一个 user_id
如果列为 NULLABLE,使用 null 是否会降低性能? 此外,当使用 null 时,数据库是否仍会提出一个查询计划,因为这就是我想要使用一致大小的批次来实现的目标?
【问题讨论】:
标签: sql performance select