一. 表的存储引擎
1. 概述
插件式存储引擎是mysql数据库最重要的特性之一, 用户可以根据应用的需要选择如何存储和索引数据,是否使用事务等。在mysql 5.0里支持的引擎包括:
MyISAM,InnoDB,BDB,Memory,Merge,Example,NDB Cluster, Archive,CSV, BlackHole, Federated等。其中InnoDB和BDB提供事务安全表,其它存储都是非事务安全表。
2. 默认情况下,创建表不指定表的存储引擎,新表是默认的存储引擎,如需要修改如下
SHOW VARIABLES LIKE 'table_type'; -- 注意在5.7里查看使用default_storage_engine SHOW VARIABLES LIKE 'default_storage_engine%'
3. 下面查询当前数据库版本支持的引擎
SHOW ENGINES;
4. 使用engine 关键词来显示指定表的存储引擎
CREATE TABLE ai ( i BIGINT(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY(i) )ENGINE=MYISAM DEFAULT CHARSET=gbk; CREATE TABLE country ( country_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, country VARCHAR(50) NOT NULL, last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY(country_id) )ENGINE=INNODB DEFAULT CHARSET=gbk;
5. 表修改引擎
ALTER TABLE ai ENGINE=INNODB; SHOW CREATE TABLE ai ;
6. 各种存储引擎的特性