【发布时间】:2011-11-05 14:42:00
【问题描述】:
关于 OPTIMIZE TABLE COMMAND 的作用有几个问题。我知道这有助于清除碎片表中可能存在的开销。对我来说,有时我需要运行它,我想创建一个视图来从 django 中运行这些命令。
最好的方法是使用原始 SQL 还是有其他的 django orm 来帮助它?
【问题讨论】:
标签: mysql django optimization overhead
关于 OPTIMIZE TABLE COMMAND 的作用有几个问题。我知道这有助于清除碎片表中可能存在的开销。对我来说,有时我需要运行它,我想创建一个视图来从 django 中运行这些命令。
最好的方法是使用原始 SQL 还是有其他的 django orm 来帮助它?
【问题讨论】:
标签: mysql django optimization overhead
原始 SQL 是这里的方法。
from django.db import connections, transaction
cursor = connections['default'].cursor()
cursor.execute('OPTIMIZE TABLE;')
transaction.commit_unless_managed(using='my_db_alias')
【讨论】:
最好的方法是executing the custom sql directly。
但是通过应用程序对这种系统或数据库进行管理是非常危险的;如果该命令出现问题,您的 django 应用程序可能会在使用数据库管理工具时离线。
【讨论】: