MySQL:多个INSERTS的性能

时间:2017-08-14 08:06:38

标签: mysql performance

我们正在运行使用MySQL的应用程序。我们有两个实例测试和生产。

问题在于多个INSERTS的性能。假设我们在同一个表中插入200条记录,我们的应用程序有两个选项:

  1. 我们可以连续向数据库服务器发出200个INSERT语句。
  2. 我们用200个VALUE块开火。
  3. 显然,选项2的表现要好得多。但是我们观察到以下内容:

    • 在测试服务器上,两个选项都运行高效,而选项2稍微好一些。这就是我们的期望。
    • 在生产服务器上,只有选项2运行高性能,而选项1明显更慢(按系数100)。

    我们想知道这是怎么发生的。考虑到MySQL文档(https://dev.mysql.com/doc/refman/5.7/en/insert-optimization.html),插入的一个重要性能因素是连接和发送查询。所以我们的第一个怀疑是生产服务器上的配置故障。

    我们正在使用mysqli连接到服务器。在测试和生产应用程序和数据库托管在同一台机器上。我们已经尝试过的:

    • 在两台服务器上切换TCP和UNIX
    • 在php.ini中定义默认的MySQL套接字,而不是在连接时显式传递它。

    性能没有显着变化。也许有人会暗示值得检查。

    更新:硬件类似,两台服务器上的数据同步。

0 个答案:

没有答案