Mysql CREATE语句非常慢(Mac OS X/Macport安装)

问题描述:

我最近注意到,为我正在处理的Web应用程序重新创建数据库花了很多时间。我刚刚重新安装mysql的从Macport ...Mysql CREATE语句非常慢(Mac OS X/Macport安装)

我变得非常糟糕的演出,例如:

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个表时,磁盘使用率变得非常高。

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

+0

这个问题会更适合在http://dba.stackexchange.com/ – 2011-01-11 08:43:45

+0

我在那里添加了同样的问题。感谢您的提示......我们将看看它是如何发展的。 – perrick 2011-01-11 10:18:22

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

它详细地向你的my.cnf文件添加一个指令,该指令将禁止使用不同的函数,并大大加快了OS X中MySQL中所有基于文件的操作。所以,你可以通过将以下内容添加到my.cnf文件在[mysqld]块中。最好不要在生产环境中这样做,但是究竟是谁真正将OS X用作生产Web服务器呢?

skip-sync-frm=OFF 

我看到我的单元测试模式创建从16秒降到5秒,这对我来说是一个明显的赢家。