Mysql CREATE语句真的很慢(Mac OS X / Macport安装)

时间:2011-01-11 08:37:54

标签: mysql macports

我最近注意到,为我正在处理的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个表时,磁盘使用率非常高。

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

1 个答案:

答案 0 :(得分:2)

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

详细说明向my.cnf文件添加一个指令,该指令将禁用使用不同的功能,并大大加快OS X上MySQL中所有基于文件的操作。因此,您可以通过在{{{{{{ 1}} {} {}}块中的文件。最好不要在生产中这样做,但实际上谁将OS X用作生产Web服务器呢?

my.cnf

我看到我的单元测试架构创建从16秒降到了5秒,这让我成为明显的赢家。