我的一些單元測試需要10-15秒才爲mysql創建表。這似乎不必要的長。它必須創建大約50張桌子,但仍然只有每秒3張桌子。當重複運行單元測試時,這是一個很大的煩惱。提高在Django中創建MySQL表的速度?
作爲一種解決方法,我一直在sqlite3中運行我的單元測試。它的速度非常快,但我更願意在MySQL上運行我的測試,因爲這是我運行的服務器所運行的。
要說明速度差異,請創建一個新項目。然後使用mysql在其上運行syncdb。然後使用sqlite3嘗試它。
[~/testproject] ./manage.py syncdb
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
對我而言,在MySQL中創建上述表格大約需要2秒鐘的時間。 Sqlite3幾乎是即時的。
我在我的開發機器上運行mysql。這是我的my.cnf。
請提出任何提示或調整,你可以想到這可能有助於加快MySQL的表創建時間。
您的MySQL表是本地還是遠程的? – Martin 2010-01-08 02:11:07
它在我的Mac上是本地的。看看我的my.cnf如果你喜歡:http://pastebin.com/m69af8ba3 – Gattster 2010-01-08 02:13:13
「我寧願在MySQL上運行我的測試」爲什麼?你不相信Django的ORM層? – 2010-01-08 02:15:09