2011-01-11 5 views
1

私が最近気づいたのは、私が取り組んでいるWebアプリケーション用のデータベースを再作成するのに時間がかかることです。近くの私は同じのため0.0016529560089111秒を取得し、別のマシンでMysqlのCREATE文が遅い(Mac OS X/Macportインストール)

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.293437004089秒:私はちょうど私が例えば、本当にお粗末なパフォーマンスを取得しています... Macportから

をMySQLを再インストールしていましたクエリ。

問題はディスクと多少関連しているように見えます。私のデータベースに70個のテーブルを作成し始めると、ディスクの使用率が非常に高くなります。

ヒントはどこから始めるのですか?

+0

この質問は、http://dba.stackexchange.com/より適しています。 –

+0

私はそこに同じ質問を追加しました。ヒントをありがとう...我々はそれがどのように行くかを見ていきます。 – perrick

答えて

2

私はこれを自分で見つけたが、問題は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秒に降りてきて、私にとっては明らかな勝者です。

+0

明白なことは申し訳ありませんが、my.cnfファイルを変更してmysqlデーモンを再起動してください。 – Lucas

関連する問題