【问题标题】:Efficient way to check and insert data into MySQL database node检查数据并将数据插入 MySQL 数据库节点的有效方法
【发布时间】:2018-07-30 12:51:25
【问题描述】:

第一种方式:

  1. 从数据库中获取所有记录并创建一个结果数组。
  2. 循环新的插入数组并检查唯一ID是否存在与上述结果数组然后插入数据库。

第二种方式:

  1. 循环新的插入数组并检查唯一ID是否存在于数据库中,然后插入到数据库中。

注意:与数据库表数据相比,插入数据会非常少。

请提出任何最好的方法。

【问题讨论】:

  • 如果记录尚不存在,您要插入还是更新,以防它存在?
  • 如果我们知道您的表结构和条件,它会有所帮助。但如果它只是重​​复 - 一个 INSERT... SELECT 可能会是最快的,因为它都是在数据库中完成的。
  • 有什么理由不依赖 DB 独特的成本系统?
  • 我认为子查询/嵌套查询可能是这里的解决方案..
  • 只插入数据。如果记录存在则不需要插入。

标签: php mysql node.js database insert


【解决方案1】:

@NigelRen 理念的实现

insert into destTable  (id, coln,...)
select st.id,st.coln,...
from srcTable st
left join destTable dt on st.id=dt.id
where dt.id is null

其中id 是两个表之间一对一的关系

【讨论】:

  • 插入数据不是来自输入数组(API)的表。
猜你喜欢
  • 2016-02-03
  • 2012-05-10
  • 2019-12-23
  • 1970-01-01
  • 2012-12-09
  • 2023-04-10
  • 2013-05-29
相关资源
最近更新 更多