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

时间:2017-02-03 10:27:29

标签: javascript mysql sql node.js for-loop

我需要从SQL数据库中获取用户提供的项目列表的数据。 例如,如果用户上传包含1000个项ID的.csv文件,则按item_id进行1000次SQL查询会是更好的选择吗?或者将整个数据库表数据放在一个SQL查询中并循环遍历该数据会是更好的选择吗?

1 个答案:

答案 0 :(得分:0)

正如评论中所述:

最好的方法是在数据库中创建单列item_search表;将1000个项目标识符放入一个文本文件中,每行一个标识符,然后使用MySQL的加载功能将该文件加载到搜索表中。

然后使用:

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个请求。