[转] mysql 存储引擎
最常用的存储引擎 innodb MyISAM
MyISAM,这种效率高,不支持事务,不支持外键,每个表有单独的存储文件(多个),方便管理。
innodb,一般默认的都是innodb,效率也不低,支持事务,支持外键,只有innodb支持事务和外键。
其一般默认用共享表空间,用一个文件存储数据,ibdata1,共享表空间也可以配置多个存储文件。
可以通过调整innodb_file_per_table使用独享表空间,每个表有自己的存储文件。
区别:
1. 查看系统支持的存储引擎
mysql> show engines;
linux mysql 5.5的,默认是innodb
2.设置mysql的默认存储引擎
编辑my.cnf或my.ini配置文件,在服务器端配置信息[mysqld]下面添加:
default-storage-engine = MyISAM
即可设置mysql数据库的默认引擎为MyISAM
3.设置当前会话的默认存储引擎
SET storage_engine=InnoDB;
即可以设置当前会话连接的默认存储引擎为InnoDB。
4.查看表使用的存储引擎
两种方法:
a、show table status from db_name where name='table_name';
b、show create table table_name; //显示表的创建语句
5. 修改表引擎方法,会重建表及数据
alter table table_name engine=innodb;
6.创建表时指定存储引擎
create table t_innodb( id int(3) ) engine = innodb;
[root@dev ~]# service mysql restart