支持事务,在OLTP方面支持行级锁、外键;
通过多版本并发控制MVCC来获得高并发性,并实现SQL的4种隔离级别(默认repeatable);
提供insert buffer,double write,自适应hash索引,预读;
对于表中数据的存储,innodb采用clustered。每张表的存储按照主键的顺序存放;若表没有显式定义主键,innodb会为每一行生成一个6字节的rowid,作为主键。
不支持事务,表锁,全文索引,对OLAP操作速度快;
存储引擎有MYD和MYI组成,myd放数据文件,myi放索引文件;
从mysql 5.0开始,默认支持256T单表数据;
对myisam存储引擎表,mysql数据库只缓存其索引文件,数据文件的缓存交由OS本身来完成,区别于使用LRU算法缓存数据的大部分数据库。
数据全部放在内存中,主键的查速度极快,可线性提高数据库性能,高可用,高性能集群系统;
NDB存储引擎的连接操作是在mysql数据库层完成,而不是存储引擎层完成,因此复杂的连接操作需要巨大的网络开销。
将表的数据放在内存中,如果数据库重启或崩溃,表中的数据发生丢失。适用于存储临时数据的临时表,数据仓库中的纬度表,默认使用hash索引,非B+树索引;
只支持表锁,并发性能差,不支持text和blob类型,存储变长字段varchar时,按照定长字段char方式进行,因此浪费空间。
本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1792401
原文地址:http://90sirdb.blog.51cto.com/8713279/1792401