Скорость увеличения для создания таблицы MySQL в Django?

Некоторые мои модульные тесты занимают 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

Для меня требуется приблизительно 2 секунды для создания приведенных выше таблиц в MySQL. Sqlite3 почти мгновенен.

Я выполняю mysql на своей машине разработки. Вот мой my.cnf.

Предложите любые подсказки или тонкие настройки, о которых можно думать, который мог бы помочь ускорить время создания таблицы MySQL.

6
задан Gattster 8 January 2010 в 02:32
поделиться

1 ответ

Вы можете создать RAM-диск и переместить туда db только для модульного тестирования. Если для этого написать скрипт, то это автоматически и очень удобно.

Кроме того, для других целей я написал собственный тестовый прогон, который загружает БД. из дампа sql вместо того, чтобы создавать его, а затем создавать таблицы.

Вы выбираете.

3
ответ дан 17 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: