(单个SQL查询)vs(单个SQL查询和循环数据)哪一个更好?

我有一个要求从SQL数据库中获取用户给出的项目列表的数据。 例如,如果用户上传包含1000个item ID的.csv文件,那么通过item_id创build1000个SQL查询将是更好的select? 或者在一个单一的SQL查询中获取整个数据库表数据,并循环这些数据将是一个更好的select?

正如评论中所述:

最好的方法是在数据库中创build一个单列的item_search表; 将1000个条目标识符放入一个文本文件中,每行一个标识符,然后使用MySQL的加载function将该文件加载到您的search表中。

然后使用:

 SELECT item_id, , name , <any other columns> FROM items i INNER JOIN item_search s ON i.item_id = s.item_id 

导出数据。

SQL连接中最昂贵的部分是始终接受SQL请求并启动和结束SQL请求。 这样,你有两个要求; 负载和出口; 另一方面,你有1000个请求。