向数据库添加新条目的最佳方法

时间:2018-11-30 20:51:15

标签: php mysql

我正在寻找在速度和性能方面的最佳方法,以将新条目添加到数据库中。

我正在提取一个供稿,该供稿会导致一系列aprox。 50.000(50k)条目。

我有一个已经包含很多条目的数据库,而不是进行截断和全部添加,我只想将新条目添加到数据库中。

数组中的每个条目都有唯一的ID,因此可以在数据库中轻松选择它们。

我认为最“最佳”的方法是迭代数组,然后对数组中的每个元素进行选择,以查看它是否已在数据库中,以及是否未将其添加到数据库中。

但是,这似乎是错误的,因为它是查询的“全部”。

有更快/更好的方法吗?

2 个答案:

答案 0 :(得分:2)

我将5万个条目保存到CSV文件中,并使用LOAD DATA LOCAL INFILE 'filename'

添加REPLACE选项以覆盖数据库中与唯一键匹配的任何记录,或者添加IGNORE选项以避免覆盖记录,而忽略CSV文件中的新数据。

阅读https://dev.mysql.com/doc/refman/8.0/en/load-data.html

另请参见我的演示文稿Load Data Fast!,其中我评估了插入大数据的不同方法的性能。

答案 1 :(得分:0)

最有效的方法是INSERT INTO +进行了here所述的调整

相关问题