获取关系项-最快


Get Relational Items - Fastest

我将关系项存储在字段中,作为逗号分隔的ID,如下所示:

,4,12,8,16,198,

前导和尾随逗号的原因是使用LIKE '%,id,%'进行搜索

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

  • 分解成数组,在数组上循环,并执行单独的选择查询(查询过多?)
  • 一个选择使用IN()(我认为这不会维持秩序?)
  • 选择相关表中的所有项目,然后根据ID从该数组中进行选择(好处可能是只有一个查询?)

也许应该提到的是,我正在使用PDO,所以我可以为不同的ID准备一次语句,然后执行几次。。。尽管我不知道这对性能的影响有多大。

如有任何帮助,我们将不胜感激!

谢谢。

我会选择

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

IN 组合