Mysql ОПТИМИЗИРУЙТЕ ТАБЛИЦУ КОМАНДЫ в Django - PullRequest
1 голос
/ 28 августа 2011

Есть несколько вопросов о том, что делает OPTIMIZE TABLE COMMAND. Я знаю, что это помогает устранить накладные расходы, которые могут зависать во фрагментированных таблицах. Иногда мне нужно запустить его, и я хотел создать представление для запуска этих команд из django.

Наилучший способ сделать это с использованием необработанного SQL или есть какой-нибудь другой django orm, чтобы помочь с этим?

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

Необработанный SQL - это то, что нужно.

from django.db import connections, transaction
cursor = connections['default'].cursor()
cursor.execute('OPTIMIZE TABLE;')
transaction.commit_unless_managed(using='my_db_alias')
0 голосов
/ 29 августа 2011

Лучший способ сделать это - выполнить пользовательский sql напрямую .

Но это очень опасно для такого рода администрирования системы или базы данных через приложение; если с этой командой что-то пойдет не так, ваше приложение django может отключиться от сети с помощью инструментов управления базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...