在使用syncdb命令创建数据库时,如何强制django使用MYISAM存储引擎?这个页面对阐明这个问题没有多大帮助。
MYISAM是最好的选择,因为数据库几乎只用于读取,而且MYISAM比InnoDB快得多。模型中仍然有一些models.ForeignKey字段,但它们仅用于创建主详细管理页面。数据库中不需要有实际的外键。
发布于 2014-12-16 05:53:30
见此页。在您的OPTIONS设置中使用一个DATABASES变量是可行的,但是将一个现有的数据库迁移到一个新的引擎并不是那么容易(认为您必须重新初始化)。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'OPTIONS': {
"init_command": "SET storage_engine=MYISAM",
}
}
}发布于 2014-12-16 09:14:35
您应该直接在数据库定义中将存储引擎设置为INNODB,如下所示。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
.....
'STORAGE_ENGINE': 'MYISAM'
}
}对于新版本,您可以使用:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
.....
'OPTIONS': {
"init_command": "SET storage_engine=MYISAM",
}
}
}https://stackoverflow.com/questions/27496923
复制相似问题