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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。