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

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

有什么想法可以从哪里开始寻找线索吗?

最佳答案

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

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

skip-sync-frm=OFF

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

关于Mysql CREATE 语句真的很慢(Mac OS X/Macport 安装),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4655656/

相关文章:

mysql - 通过比较两个表更新sql中的查询

python - 从终端打开 IDLE

macports - 安装 perlbrew : Failed to retrieve patchperl executable

Python "Segmentation fault: 11"运行时 "import cv"或 "import cv2"

MySQL 级联表

MySQL 外键 - 创建表时出现错误 150

mysql索引大小和重复问题

c++ - 找不到随 MacPorts 安装的库

nokogiri - 使用 rspec 时出错,安装 Homebrew 并卸载 MacPorts 后缺少库

PHP PDO 无效参数编号 : parameter was not defined using Q-mark parameters