MYSQL数据库各种储存引擎特点

1、MYSQL数据库的核心在于储存引擎

2、InnoDB储存引擎支持事务,特点是行锁设计、支持外键,且读取数据操作不产生锁

3、InnoDB通过使用多版本并发控制MVCC来获得高并发,并实现sql标准的4中隔离级别READUNCOMMITTED、READCOMMITTED、REPEATABLEREAD、SERIALIZABLE

4、InnoDB存储引擎采用聚集的方式来进行数据的存储,因此每张表的存储都是按照主键的顺序进行存放,如果表没有设计主键,则InnoDB存储引擎会为每一行生成一个6字节的rowId作为主键

5、MyISAM存储引擎的缓冲池只缓存索引文件,而不缓冲数据文件,数据文件的缓存交由操作系统本身来完成

6、MyISAM储存引擎表有MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件

7、MYSQL5.0版本之前,MyISAM默认支持的表数据大小为4GB,MYSQL5.0版本开始,MyISAM默认支持TB的单表数据

8、在MYSQL5.1.23版本之前,32位和64位的操作系统,缓存索引的缓冲区最大只能设置4GB,在MYSQL5.1.23版本之后的版本,64位操作系统可以支持大于4GB的索引缓冲区

9、NDB存储引擎是一个集群存储引擎,其结构是sharenothing的集群架构,能提供更高的可用性

10、NDB特点是数据全部存放在内存中,MYSQL5.1版本开始,可以将非索引数据存放在磁盘上,因此主键查找的速度极快,并且通过添加NDB数据数据存储节点可以线性地提高数据库性能,是高可用、高性能的集群系统

11、NDB存储引擎的连接操作(JOIN)是在MYSQL数据库层完成的,而不是在存储引擎层完成的,这意味着,复杂的连接操作需要巨大的网络开销,因此查询熟读很慢

12、Memory存储引擎,表中的数据存放在内存中,如果数据库重启或崩溃,表中的数据都将消失;适合用于存储临时数据的临时表

13、Memory存储引擎默认使用哈希索引,速度很快,但只支持表锁,并发性能较差,不支持TEXT和BLOB类型的数据,储存变长字段varchar时是按照定长字段char的方式进行的,会浪费内存

14、Archive存储引擎只支持INSERT和SELECT操作,在MYSQL5.1开始支持索引,适合存储归档数据,如日志信息;使用行锁来实现高并发的插入操作

15、Federated存储引擎不存放数据,只是指向一台远程MYSQL数据库服务器上的表

16、Maria存储引擎支持缓存数据和索引文件,应用了行锁设计,提供了MVCC功能,支持事务和非事务安全

存储引擎特点InnoDB支持事务、行锁设计、支持外键、读数据不产生锁,支持全文索引MyISAM不支持事务和表锁设计,支持全文索引NDB数据全部存放在内存中,主键查找速度很快;复杂的连接操作需要巨大的网络开销,因此查询速度很慢Memory表中的数据存放在内存中;不支持表锁,并发性能差Archive只支持INSERT和SELECT操作,使用行锁来实现高并发的插入操作Federated不存放数据,指向一台远程MYSQL数据库服务器上的表Maria支持缓存数据和索引文件,应用了行锁设计,提供了MVCC功能,支持事务和非事务安全后端技术笔记

赞赏

人赞赏

长按







































哪家医院能治好白癜风
北京治疗白癜风哪家医院疗效好



转载请注明:http://www.xcqg58.com/zytd/9351.html