【发布时间】:2014-11-27 10:04:18
【问题描述】:
如何将mysql引擎更改为MYISAM。现在我在使用 INNODB 的 mysql,但我想将引擎更改为 MISAM。我该怎么办?
CREATE TABLE `classifieds_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`site_id` int(11) NOT NULL,
`template_prefix` varchar(200) NOT NULL,
`name` varchar(200) NOT NULL,
`slug` varchar(50) NOT NULL,
`enable_contact_form_upload` tinyint(1) NOT NULL DEFAULT '0',
`contact_form_upload_max_size` int(11) NOT NULL DEFAULT '1048576',
`contact_form_upload_file_extensions` varchar(200) NOT NULL DEFAULT 'txt,doc,odf,pdf',
`images_max_count` int(11) NOT NULL DEFAULT '0',
`images_max_width` int(11) NOT NULL DEFAULT '1024',
`images_max_height` int(11) NOT NULL DEFAULT '1024',
`images_max_size` int(11) NOT NULL DEFAULT '1048576',
`description` longtext NOT NULL,
`sortby_fields` varchar(200) NOT NULL,
`sort_order` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `classifieds_category_6223029` (`site_id`),
KEY `classifieds_category_56ae2a2a` (`slug`),
CONSTRAINT `site_id_refs_id_2d06e6c6` FOREIGN KEY (`site_id`) REFERENCES `django_site` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
我试图在这里改变引擎。但我不想改变每张桌子。有什么设置可以通用换引擎吗?
我也像SET default_storage_engine=MYISAM;一样运行查询,但没有反应。
【问题讨论】:
-
我使用的是 mysql 工作台...不是 php myadmin..
-
仅供参考,工作台和 phpmyadmin 只是前端。
-
正如fancyPants 写的,这只是前端,命令是一样的,你改变了你的默认值,现在所有新创建的表都将是MYISAM,但是所有现有的表都必须单独迁移(在第一条评论你会发现命令和示例脚本用 php 执行此操作)
-
为什么要这样做?可能会有适度的性能优势,但引用完整性、约束维护等问题肯定会超过这一点。
标签: mysql