mysql表的存储引擎

  1. MySQL中的数据用各种不同的技术存储文件(或者内存)中,每种技术都使用不同的存储机制、索引技巧、锁定水平。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。 

  2. 插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务等等。

  3. 在默认情况下,创建表不指定表的存储引擎,则会使用配置文件my.ini中default-storage-engine = InnoDB指定的InnoDB ? 可用:SHOW VARIABLES LIKE 'table_type'; 

 

 

存储引擎的选择:

  1.      MyISAM: 应用于读写操作为主,很少更新、删除,并对事务的完整性、并发性要求不高的情况。

  2. ? InnoDB: 应用于对事务的完整性要求高,在并发条件下要求数据的一致性的情况。MySQL安装后   的默认值 ?

  3.  MEMORY: 表的数据存放在内存中,访问效率高,但一旦服务关闭,表中的数据全部丢失。 ? 

  4. MERGE: 是一组MyISAM表的组合。可以突破对单个MyISAM表大小的限制,并提高访问效率。 ? 

  5. 在创建表时,可以指定表的存储引擎: 

            CREATE TABLE(…) ENGINE = InnoDB ;

 

在对于mysql性能调优的时候,有的时候要根据业务特点来确定表的存储类型。以下是切换过程中需要用来的命令:

 

查看:show table status from soc where name='event_extra'\G;

修改:alter table event_extra engine=myisam;