Некоторые из моих модульных тестов занимают 10-15 секунд только для mysql для создания таблиц Это кажется излишне долгим. Необходимо создать около 50 таблиц, но это все еще только 3 таблицы в секунду. Это очень неприятно, когда многократно запускаются юнит-тесты.
В качестве обходного пути я запускаю свои модульные тесты в sqlite3. Это невероятно быстро, но я бы предпочел запускать свои тесты на MySQL, поскольку именно на этом работают мои живые серверы.
Чтобы проиллюстрировать разницу в скорости, создайте новый проект. Затем запустите на нем syncdb, используя mysql. Затем попробуйте, используя 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.