首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制django使用MYISAM存储引擎创建表

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

Stack Overflow用户
提问于 2014-12-16 03:11:14
回答 2查看 3.4K关注 0票数 9

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-16 05:53:30

见此页。在您的OPTIONS设置中使用一个DATABASES变量是可行的,但是将一个现有的数据库迁移到一个新的引擎并不是那么容易(认为您必须重新初始化)。

代码语言:javascript
复制
DATABASES = { 
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': '',                      
    'USER': '',     
    'PASSWORD': '',
    'OPTIONS': {
           "init_command": "SET storage_engine=MYISAM",
    }   
  }   
}
票数 14
EN

Stack Overflow用户

发布于 2014-12-16 09:14:35

您应该直接在数据库定义中将存储引擎设置为INNODB,如下所示。

代码语言:javascript
复制
DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       .....
       'STORAGE_ENGINE': 'MYISAM'
   }
}

对于新版本,您可以使用:

代码语言:javascript
复制
DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           .....
           'OPTIONS': {
                     "init_command": "SET storage_engine=MYISAM",
                      } 
       }
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27496923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档