django中的Mysql OPTIMIZE TABLE COMMAND

时间:2011-08-28 19:49:28

标签: mysql django optimization overhead

关于OPTIMIZE TABLE COMMAND的内容有几个问题。我知道有助于清除碎片表中可能存在的开销。对我来说有时我需要运行它,我想创建一个视图来从django中运行这些命令。

是使用原始SQL执行此操作的最佳方法还是有其他django orm来帮助它?

2 个答案:

答案 0 :(得分:2)

原始SQL就是这里的方式。

from django.db import connections, transaction
cursor = connections['default'].cursor()
cursor.execute('OPTIMIZE TABLE;')
transaction.commit_unless_managed(using='my_db_alias')

答案 1 :(得分:0)

执行此操作的最佳方法是executing the custom sql directly

但是通过应用程序对这种系统或数据库管理是非常危险的;如果该命令出现问题,您的django应用程序可能会脱机使用您的数据库管理工具。