热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

修改mysql表类型实际测试可执行

今天在修改mysql表类型时,在网上搜索了下,说是用altertable表名 typeMyISAM;altertable表名 typeInnoDB;本地实际执行了下是错误,后来查询


今天在修改mysql表类型时,在网上搜索了下,说是用


alter table 表名 type = MyISAM;


alter table 表名 type= InnoDB;


本地实际执行了下是错误,后来查询mysql API修改表类型时用如下语句,已经实际测试通过

修改 mysql 表类型的 sql 语句:


alter table 表名 Engine = MyISAM;


alter table 表名 Engine = InnoDB;



附 mysql 表类型说明


MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。 MyISAM表格可以被压缩,而且它们支持全文搜索。它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择。


InnoDB:这种类型是事务安全的。它与BDB类型具有相同的特性,它们还支持外键。InnoDB表格速度很快,具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它。如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。


对于支持事物的InnoDB类型的标,影响速度的主要原因是AUTOCOMMI,默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打 开也可以),将大大提高性能。




推荐阅读
author-avatar
小--瑜Gg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有