Php 获取关系项-最快

Php 获取关系项-最快,php,optimization,pdo,query-optimization,relational-database,Php,Optimization,Pdo,Query Optimization,Relational Database,我在字段中以逗号分隔的ID存储关系项,如下所示: ,4,12,8,16198, 前导和尾随逗号用于搜索“%”,id,“%”等, 我试图编写一个引导函数,根据ID按照ID的顺序检索所有这些项。我的问题是检索这些行最有效的方法是什么?我想到的选择是: 分解成数组,在数组上循环并执行单个select查询(查询过多?) 一个选择使用IN()(我认为这不会维持秩序?) 选择相关表中的所有项,然后根据ID从该数组中进行选择(好处可能是只有一个查询?) 也许应该提到的是,我正在使用PDO,所以我可以准备一

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

,4,12,8,16198,

前导和尾随逗号用于搜索“%”,id,“%”等

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

  • 分解成数组,在数组上循环并执行单个select查询(查询过多?)
  • 一个选择使用IN()(我认为这不会维持秩序?)
  • 选择相关表中的所有项,然后根据ID从该数组中进行选择(好处可能是只有一个查询?)
也许应该提到的是,我正在使用PDO,所以我可以准备一次语句,然后针对不同的ID执行几次。。。虽然我不知道这对性能有多大影响

任何帮助都将不胜感激

谢谢你。

我会去的

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

中的
,我会选择

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

再加上

中的
,这就是缺失的部分。非常感谢。那是丢失的一块。非常感谢。