Джанго Саут: Объединение «таблицы изменений» для лучшей производительности? - PullRequest
3 голосов
/ 13 декабря 2011

Немного разобравшись, почему миграция Юг была настолько медленной для производственных данных, я обнаружил, что она выполняет отдельную ALTER TABLE для каждого столбца, добавляемого в таблицу.В случае наших больших таблиц они имеют десятки миллионов строк, и я добавляю довольно много столбцов, так что получается очень медленно.

Есть ли способ объединить несколько операторов ALTER TABLESouth производит в одном выражении, и если это так, будет ли это быстрее, чем несколько отдельных выражений (я полагаю, это будет)?

Похоже, нет способа заставить South печатать SQLон использует .Есть ли какие-нибудь хитрости для получения даже частичного SQL с юга?Я могу собрать столик вручную, если смогу получить отдельные детали.

1 Ответ

0 голосов
/ 07 июля 2012

Юг использует ORM для собственных запросов, поэтому используйте это

./manage.py shell

from django.db import connection
    print connection.queries

НО я настоятельно рекомендую для решения проблем hiload / конфиденциальных данных с использованием консоли БД и написанных вручную SQL (с полным резервным копированием курса)

...