您的位置:首页 > 数据库 > MySQL

巴途_数据库存储引擎学习之《mysql,innoDB,MyISAM等相关数据库存储引擎分析》

2012-06-11 22:42 711 查看
     开篇之语:开始研究InnoDB,MongoDB相关数据库方面的技术,也希望记录自己的学习过程中 能给跟多的新手 提供一些阅读知识。

    1、MySQl表存储引擎
  MySQL数据库是一种插件式体系,这个就不多说了 学PHP的相信非常了解了。

    2、InnoDB存储引擎
  InnoDB存储引擎支持事物,主要是面向在线事物处理(OLTP)方面的应用。特点:行锁设计、支持外键、并支持类似于Oracle的非锁定读,默认情况下读取操作不会产生锁。

  InnoDB存储引擎将数据放在一个逻辑的表空间中,这个表空间就像黑盒一样由InnoDB自身管理。

  InnoDB通过使用多版本并发控制(MVCC)来获得高并发性,并且实现了SQL标准的4种隔离级别。

       InnoDB采用了聚集(clustered)的方式,这种方式类似于Oracle的索引聚集表。每张表的存储都按主键的顺序存放,如果没有显式地在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID作为主键。

    3、MyISAM存储引擎
  MyISAM是MySQl官方提供的一个存储引擎。不支持事物,表锁和全文引擎,对一些OLAP操作速度快。是由MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件。可以通过使用myisampack工具来压缩数据文件,压缩后的表示只读的。

 MyISAM默认支持的表达小为4G(MySQL5.0版本之前),如果需要更大的表大小,则设置MAX_ROWS和AVG_ROW_LENGTH属性。MySQL5.0版本之后,MyISAM默认支持256T单表数据。

    可以通过以下mysql命令行查看当前使用的MySQL数据库所支持的存储引擎

 

mysql>show engines\G;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: