mysql表的存储引擎
MySQL中的数据用各种不同的技术存储文件(或者内存)中,每种技术都使用不同的存储机制、索引技巧、锁定水平。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。
插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务等等。
在默认情况下,创建表不指定表的存储引擎,则会使用配置文件my.ini中default-storage-engine = InnoDB指定的InnoDB ? 可用:SHOW VARIABLES LIKE 'table_type';
存储引擎的选择:
MyISAM: 应用于读写操作为主,很少更新、删除,并对事务的完整性、并发性要求不高的情况。
? InnoDB: 应用于对事务的完整性要求高,在并发条件下要求数据的一致性的情况。MySQL安装后 的默认值 ?
MEMORY: 表的数据存放在内存中,访问效率高,但一旦服务关闭,表中的数据全部丢失。 ?
MERGE: 是一组MyISAM表的组合。可以突破对单个MyISAM表大小的限制,并提高访问效率。 ?
在创建表时,可以指定表的存储引擎:
CREATE TABLE(…) ENGINE = InnoDB ;
在对于mysql性能调优的时候,有的时候要根据业务特点来确定表的存储类型。以下是切换过程中需要用来的命令:
查看:show table status from soc where name='event_extra'\G;
修改:alter table event_extra engine=myisam;