Niektóre z moich testów jednostkowych zajmują 10-15 sekund tylko dla mysql do tworzenia tabel. Wydaje się to niepotrzebnie długie. Musi utworzyć około 50 tabel, ale to wciąż tylko 3 tabele na sekundę. Jest to wielka irytacja, gdy przeprowadzamy testy jednostkowe over-and-over.Zwiększenie szybkości tworzenia tabel MySQL w Django?
Jako obejście używam testów jednostkowych w sqlite3. Jest niesamowicie szybki, ale wolałbym uruchomić moje testy na MySQL, ponieważ to właśnie działają moje serwery live.
Aby zilustrować różnicę prędkości, utwórz nowy projekt. Następnie uruchom syncdb na nim używając mysql. Następnie spróbuj za pomocą 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
Dla mnie tworzenie powyższych tabel w MySQL trwa około 2 sekund. Sqlite3 jest prawie natychmiastowy.
Używam mysql na mojej maszynie programistycznej. Oto mój my.cnf.
Proszę zasugerować wszelkie wskazówki lub poprawki, które mogą pomóc w przyspieszeniu czasu tworzenia tabel MySQL.
Czy Twoja tabela MySQL jest lokalna czy zdalna? – Martin
Jest lokalny na moim Macu. Sprawdź mój my.cnf, jeśli chcesz: http://pastebin.com/m69af8ba3 – Gattster
"Wolałbym uruchomić moje testy na MySQL" Dlaczego? Nie ufasz warstwie ORM Django? –