mysql 存储引擎

mysql有多种可选的存储引擎(storage engine), 可以在创建表时进行指定:

 create table test(id int(10)) engine=innodb;

查看表指定的引擎

show table status\G

1. InnoDB

默认使用的引擎是innodb。支持行级锁,主码会使用聚簇索引,支持外码的完整性约束,支持事务。

支持B+树索引(尽管语法中我们看到BTREE,但实际上就是B+树,而不是B树)

不支持哈希索引

2. MyISAM

不支持事务,提供表级锁

支持B+树索引

不支持哈希索引

3.Memory

在内存中创建表,速度最快,提供表级锁,但数据库重启后数据会丢失

支持B+树索引

支持哈希索引

在建表时指定索引类型:

CREATE TABLE lookup
    (id INT, INDEX USING HASH (id))
    ENGINE = MEMORY;
CREATE TABLE lookup
    (id INT, INDEX USING BTREE (id))
    ENGINE = MEMORY;

官方文档

你可能感兴趣的:(mysql)