MySQL数据库修改数据表引擎(类型)的方法

来源:互联网 发布:广告优化师需要会什么 编辑:程序博客网 时间:2024/05/22 11:45

对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam,那如何修改修改MySQL的引擎为INNODB呢,下面介绍一个修改方法


第一种 (第一种已经测试成功)

对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam。 INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的。修改MySQL的引擎为INNODB,可以使用外键,事务等功能,性能高。

查看数据表的状态

复制代码代码如下:

SHOW TABLE STATUS FROM sites WHERE NAME='site';  
SHOW TABLE STATUS FROM db_name WHERE NAME='table_name';  
 

更改表的引擎

复制代码代码如下:

alter table table_name engine=innodb;  
alter table table_name engine=myisam;  


第二种 (第二种测试失败)


修改 mysql 表类型的 sql 语句:

alter table 表名 type = MyISAM;

alter table 表名 type = InnoDB;


也有文档说要在表名这加上符号。

如下:

ALTER TABLE  `TABLE_NAME`  TYPE = INNODB;   

 `TABLE_NAME`这里不是单引号,是用~按键(1旁边的键)打出来的。切换到英文输入,按此按键会打出来。


然而并没有什么卵用。

 



附 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打 开也可以),将大大提高性能。





0 0
原创粉丝点击