【发布时间】:2011-09-07 09:13:56
【问题描述】:
我将字段中的关系项存储为逗号分隔的 ID,如下所示:
,4,12,8,16,198,
前导逗号和尾随逗号的原因是用于搜索LIKE '%,id,%'
我正在尝试编写一个引导函数来根据 ID 按 ID 的顺序检索所有这些项目。我的问题是检索这些行的最有效方法是什么?我想到的选项是:
- 分解成数组,遍历数组并执行单独的选择查询(查询太多?)
- 使用 IN() 进行选择(我认为这不会保持顺序?)
- 选择相关表中的所有项目,然后根据 ID 从该数组中进行选择(好处可能是只有一个查询?)
也许应该提到我正在使用 PDO,所以我可以准备一次语句,然后针对不同的 ID 执行多次......虽然我不知道这对性能有多大影响。
任何帮助将不胜感激!
谢谢。
【问题讨论】:
标签: php optimization pdo query-optimization relational-database