MySql学习 - MySql存储引擎笔记

MySql存储引擎

MySql数据库有很多种存储引擎,不同的引擎特点不同,有各自的优点。最近在看MySQL技术内幕,刚好做下笔记。

InnoDB存储引擎

这个是自从MySQL 5.5.8版本后的默认存储引擎,也是我平时使用的搜索引擎。支持事务操作,主要面向联机事务处理的应用,特点是行锁设计,支持外键,也支持类似Oracle的非锁定读这种默认读取操作不会产生锁。

通过使用版本控制来获得高并发并且实现了SQL标准的四种隔离级别,默认是REPEATABLE级别(可以防止脏读和非重复读)。同时使用一种next-key locking的策略来二次写自适应哈希索引,预读等高性能和高可用的功能。

InnoDB是一种cluster 引擎。

MyISAM存储引擎

这种引擎不支持事务,也不支持表锁设计,但支持全文索引。

这是在MysQL 5.5.8之前的默认存储引擎(Windows除外)。

NDB存储引擎

这个引擎我没有使用过,不过这个引擎好像比较强大。
它是集群存储引擎,类似RAC集群的,是面向OLTP的数据库应用的。

Memory存储引擎

这个引擎就是把所有的数据都放在了内存中,所以呢,重启或崩溃的话,所有的数据都会丢失了。所以更适合临时表这种应用场景,数据仓库的维度表这些应用。默认是哈希索引,不是B+树的。

Infobright存储引擎

这个是一个第三方的存储引擎,它的存储是按照列来存储的。并非行存储。所以很适合OLAP的数据应用。

NTSE存储引擎

网易开发的引擎,作为自己内部使用,不支持事务管理(以后好像要支持的)。

还有很多其他引擎。

笔记:2015/04/13

你可能感兴趣的:(mysql,存储,引擎)