1

我存储关系的项目作为逗号分隔的ID字段像这样:找关系物品 - 最快

,4,12,8,16,198,

的原因开头和结尾的逗号是与LIKE '%,id,%'

搜索我正在尝试编写一个引导程序函数,以便按ID的顺序检索所有这些项目。我的问题是检索这些行的最有效方法是什么?我想到的选项是:

  • 爆炸成数组,循环数组和做个人选择查询
  • 一个选择使用IN()(我不认为这会保持(查询太多?)顺序?)
  • 选择相关表中的所有项目,然后从基于ID的阵列选择(好处可能只有一个查询?)

也许还应该提到的是我使用的PDO,所以我可以准备一次陈述,然后为不同的ID执行几次...虽然我不知道这对性能有多大影响。

任何帮助将不胜感激!

谢谢。

回答

1

我会去

ORDER BY FIELD(`id`, 4, 12, 8, 16, 198) 

结合的IN

+0

这是缺少的部分。谢谢! – RANGER 2011-06-02 22:44:49