OPTIMIZE TABLE COMMAND の機能についていくつか質問があります。断片化されたテーブルで発生する可能性のあるオーバーヘッドを解消するのに役立つことはわかっています。私にとっては、それを実行する必要がある場合があり、django 内からこれらのコマンドを実行するためのビューを作成したいと考えていました。
生のSQLを使用してこれを行う最良の方法はありますか、それを支援する他のdjango ormがありますか?
OPTIMIZE TABLE COMMAND の機能についていくつか質問があります。断片化されたテーブルで発生する可能性のあるオーバーヘッドを解消するのに役立つことはわかっています。私にとっては、それを実行する必要がある場合があり、django 内からこれらのコマンドを実行するためのビューを作成したいと考えていました。
生のSQLを使用してこれを行う最良の方法はありますか、それを支援する他のdjango ormがありますか?
生の SQL は、ここに行く方法です。
from django.db import connections, transaction
cursor = connections['default'].cursor()
cursor.execute('OPTIMIZE TABLE;')
transaction.commit_unless_managed(using='my_db_alias')
これを行う最善の方法は、カスタム SQL を直接実行することです。
しかし、アプリケーションによるこの種のシステムやデータベースの管理は非常に危険です。そのコマンドで何か問題が発生した場合、django アプリケーションはデータベース管理ツールを使用してオフラインになる可能性があります。