我已经使用ARCHFLAGS =“ - arch x86_64”在这些instructions by Hivelogic和mysql(2.8.1)gem之后安装了MySQL 5.1.40源代码分发(64位可执行x86_64)。在Snow Leopard下MySQL非常慢
我正在使用它进行Ruby on Rails开发,而我的问题是,即使MySQL以各种方式工作,它都非常缓慢。
执行标准rake数据库时使用sqlite3进行比较:迁移创建约15个表。
的MySQL:
时间耙分贝:迁移
真正0m4.882s
用户0m1.426s
SYS 0m0.235s
的sqlite3:
时间rake db:migrate
个真实0m2.282s
用户0m1.501s
SYS 0m0.255s
我们还必须考虑到对每个测试的执行时间1.5s左右是轨道框架这意味着sqlite3的执行的加载SQL任务大约需要0.5-1s,而MySQL需要超过3s才能完成同一组任务。
这不就是错的吗?这可能是什么原因?任何遇到同样问题的人?
我已经安装和重新安装了MySQL和MySQL的/红宝石宝石几次,但总是以同样的结局... :(
我的雪豹是升级安装,而不是一个全新安装。也许这是这个问题的原因是什么?一些过时的库?
谢谢!
感谢您的回复! 我与另一个平台的唯一比较是,我在Leopard下运行了相同的测试套装(使用上面的db:migrate),现在它在Snow Leopard下显着更慢,执行时间在Leopard中大约需要1分钟,在雪豹4分钟。 我也注意到,mysql似乎“呛”了Leopard下没有发生的事情。如果我尝试插入200条记录 - 第一个30-40的闪电速度很快(〜0.8ms),但是尽管第一个插入和最后一个插入之间的复杂性相同,但它会大幅减速至每插入200ms。 – mrD 2009-10-30 09:05:02
好的 - 我建议在Leopard和Snow Leopard上都使用'sample'来获得CPU周期正在进行的概览。这也可能是由于两个操作系统之间的磁盘同步更改所致。无论如何,通常需要将数据库调优到特定的系统。 – bbum 2009-10-30 15:23:00