【问题标题】:Mysql CREATE statment are really slow (Mac OS X / Macport install)Mysql CREATE 语句真的很慢(Mac OS X / Macport 安装)
【发布时间】:2011-06-07 00:57:33
【问题描述】:

我最近注意到为我正在开发的 Web 应用程序重新创建数据库需要花费大量时间。我刚刚从 Macport 重新安装了 Mysql...

我的表现真的很糟糕,例如:

0.293437004089 秒

CREATE TABLE blockip ( 
id INT(11) NOT NULL AUTO_INCREMENT, 
ip VARCHAR(15) NOT NULL DEFAULT '', 
username VARCHAR(80) NOT NULL DEFAULT '', 
time INT(10) NOT NULL DEFAULT '0', PRIMARY KEY (id) ) 
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci TYPE=MyISAM;

在附近的另一台机器上,对于相同的查询,我得到 0.0016529560089111 秒。

问题似乎与磁盘有关:当我开始在数据库中创建 70 个表时,磁盘使用率变得非常高。

任何想法从哪里开始寻找线索?

【问题讨论】:

  • 这个问题更适合dba.stackexchange.com
  • 我在那里添加了同样的问题。感谢您的提示...我们会看看情况如何。

标签: mysql macports


【解决方案1】:

我自己看到了这一点,发现问题与 OS X 上可用的文件功能有关,而不是 MySQL 选择使用的其他操作系统,因为它更安全。查看此错误报告的最后 3 个 cmets:http://bugs.mysql.com/bug.php?id=56550

它详细说明了向您的 my.cnf 文件添加一个指令,该指令将禁用使用不同的功能并显着加快 OS X 上 MySQL 中所有基于文件的操作。因此,您可以通过将以下内容添加到您的 @987654322 来快速解决此问题[mysqld] 块中的 @ 文件。最好不要在生产环境中这样做,但谁真正将 OS X 用作生产网络服务器?

skip-sync-frm=OFF

我看到我的单元测试架构创建时间从 16 秒缩短到 5 秒,这对我来说无疑是赢家。

【讨论】:

  • 抱歉,很明显,但请确保在更改 my.cnf 文件后重新启动 mysql 守护程序以使其工作:)
猜你喜欢
  • 2013-11-07
  • 1970-01-01
  • 2013-07-21
  • 2011-04-01
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
  • 2013-01-16
相关资源
最近更新 更多