我有一个 php 脚本,它连续运行几个小时,每隔几秒我就有新数据保存在数据库中。因此,我可以选择在新数据可用时存储新数据,或者将它们收集在一个数组中,并在有 100 或 500 个数据时保存它们。如果我是正确的,php 无法向数据库发送多个插入查询,因此上面的两个选项将采用节省完全相同的时间。
我错了还是一个比另一个快?也许还有比这些更快的第三种解决方案?
最佳答案
您可以使用以下语法一次插入多行:
INSERT INTO foo
( a, b, c)
VALUES
( 1, 2, 3),
( 4, 5, 6),
( 7, 8, 9)
或者,您可以在获取数据时将其转储到分隔文件中,当文件中达到 100 行左右时,使用 LOAD DATA INFILE (http://dev.mysql.com/doc/refman/5.5/en/load-data.html) 进行插入。我发现 LOAD DATA INFILE 对于导入大量数据非常有效。
关于php - 数据库查询速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10862761/