强制django使用MYISAM存储引擎创建表

bma*_*man 7 django myisam django-models

使用syncdb命令创建数据库时如何强制django使用MYISAM存储引擎?这个页面对这个问题没有多大帮助.

MYISAM是完美的选择,因为数据库几乎只用于阅读,MYISAM比InnoDB快得多.模型中仍然存在一些models.ForeignKey字段,但它们仅用于创建主详细信息管理页面.不需要在数据库中具有实际的外键.

Ian*_*ice 12

看到这个页面.OPTIONS在您的DATABASES设置中使用变量应该可以解决问题,但是将现有数据库迁移到新引擎并不容易(认为您必须重新初始化).

DATABASES = { 
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': '',                      
    'USER': '',     
    'PASSWORD': '',
    'OPTIONS': {
           "init_command": "SET storage_engine=MYISAM",
    }   
  }   
}
Run Code Online (Sandbox Code Playgroud)