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

标签 django django-models myisam

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

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

最佳答案

参见this page 。在 DATABASES 设置中使用 OPTIONS 变量应该可以解决问题,但是将现有数据库迁移到新引擎并不那么容易(认为您必须重新 -初始化)。

DATABASES = { 
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': '',                      
    'USER': '',     
    'PASSWORD': '',
    'OPTIONS': {
           "init_command": "SET storage_engine=MYISAM",
    }   
  }   
}

关于django - 强制django使用MYISAM存储引擎创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27496923/

相关文章:

python - Django 表单中的隐藏字段不在 cleaned_data 中

python - 不同版本 django 的 Virtualenv

json - JSONRenderer无法序列化:b'{“id”:“11122211133311”}}不可JSON序列化

python - Django 过滤 ManyToMany 字段

database - 为什么我的 Django 批量数据库填充如此缓慢且经常失败?

jquery - 是否可以使用 jquery post 或 get 请求来保存访客统计信息?

具有auto_now_add的Django DateTimeField要求默认

python - Django 在输入链接时创建一个对象

mysql - 如何找到点,根据紧密程度排序,得到1-20、21-40等。高效使用Myisam和mysql以及空间索引

MySQL 表引擎