mysql 开发基础系列8 表的存储引擎

一. 表的存储引擎

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. 各种存储引擎的特性

原文地址:https://www.cnblogs.com/MrHSR/p/9252652.html