在数千个查询MYSQL上插入几行的最快方法

时间:2016-09-12 10:52:57

标签: php mysql pdo

我有数千个产品插入行,但我还需要同时插入供应商信息。

除了将信息附加到产品导出的每个产品之外,没有办法查询供应商信息是从系统中输出信息(名称,供应商编号等)。

除非我通过每个产品信息导出,否则无法确保所有供应商都已更新/插入。

从正确的角度来看,大约有2000家产品只有5家供应商。

插入供应商的最佳方式是什么,而不是每次都检查供应商是否存在,因为几乎所有的时间都会存在?

这样做的最佳方式是什么?

我正在使用pdo和准备好的陈述和交易......

2 个答案:

答案 0 :(得分:1)

  1. 选择所有供应商
  2. 插入产品数据
    • 检查您是否有特定的供应商
      • 如果没有,则插入
    • 插入产品
  3. 收集所有产品插页的供应商数据
  4. 完成插入产品后,循环供应商并更新它们

答案 1 :(得分:0)

您的要求不是很清楚(至少对我而言)。

您的意思是,每次在数据库中插入新产品时,您想要更简单的方法来检查产品的供应商是否已存在于数据库中

如果是这样,每次插入新产品时,您都可以使用以下声明插入/更新供应商的信息

REPLACE INTO suppliers (name, number, ...) VALUES ([name], [number], ...);

此声明执行以下操作:

  • 如果是当前供应商:
    • DB上不存在,它会将其保存在suppliers表格上。
    • 如果DB上已存在,则会使用提供的信息更新供应商的DB数据。

我认为这是你做你想做的更快捷的方式。