MySQL 5.6 创建表非常慢

MySQL 5.6 创建表非常慢

我最近将我的 MySQL 服务器从 5.1 升级到了 5.6(运行在 CentOS 6.x 上)。自从升级以来,当我尝试执行某些表任务时,查询需要很长时间。这确实阻碍了我的开发周期迭代,因为当测试应该花 1 秒钟执行时,它需要 1-2 分钟才能执行,这确实降低了我的工作效率。

花费很长时间的查询:

  • 删除并创建
  • 在 CREATE 之后插入
  • 截短

我在本地 Mac 上安装了相同版本的 MySQL (5.6.15)。我目前正在专门处理 6 个表,因此我想经常截断这些表。当我在本地 Mac 上截断它们时,查询需要 21 毫秒(完全合理)。当我在 CentOS 服务器上截断相同的表时,需要 8.5 秒。这些表都是 InnoDB。

我尝试过在本地 Mac 和 CentOS 服务器上使用同一数据库中的其他表,但其他表的速度仍然非常缓慢。因此,我尝试了一个完全不同的数据库,但速度仍然非常缓慢(在本地 Mac 上恢复我的一个数据库需要 25 秒,但在 CentOS 服务器上需要 4 分 14 秒)。

由于 MySQL 版本相同,我认为可能是配置不同。我在 CentOS 和本地 Mac 上导出了“show variable;”查询,唯一的区别(除了路径或日志文件名等)是:

innodb_use_native_aio   OFF // local Mac
innodb_use_native_aio   ON  // CentOS

lower_case_file_system  ON  // local Mac
lower_case_file_system  OFF // CentOS

lower_case_table_names  2 // local Mac
lower_case_table_names  0 // CentOS

have_symlink    YES      // local Mac
have_symlink    DISABLED // CentOS

相关内容