php - 数据库查询速度

标签 php mysql performance optimization batch-file

我有一个 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/

相关文章:

java - 比较 PHP 时间戳(int)和 java 时间戳(长)

mysql - MariaDB 查询问题(忽略 ORDER BY)

mysql - sql中产生重复数据

mysql - 通过 openquery 在 SQL Server 中查询 MySql - "0000-00-00"行未显示

c# - 我可以使用 DataTable.Select() 方法进行简单的分页吗?

performance - W3 Total Cache Wordpress 插件的等效 Drupal 7 模块是什么?

php - 从 PHP API 创建 REST API

php - Wowza 服务器上的 PHP 脚本的 HTTP 身份验证失败?

php - 我如何在 Controller 内的 Laravel 的不同表中获取自动递增 ID 的值作为外键

node.js - Nodejs 每秒请求数和并发调用数