mysql常用存储引擎特性小结

一、以下是几种常用(myisam,innodb,memory,merge,ndb)的存储引擎,帮助读者对比各个存储引擎的区别,理解不同存储引擎的使用方式。如图示:

mysql常用存储引擎特性小结_第1张图片
        存储引擎的使用可以根据具体业务,组合使用多种存储引擎,以达到更好的性能,以下提供适用方案仅供参考,使用哪种存储引擎并不是绝对的,具体要看实际情况。
        简单描述常用存储引擎的适用环境(myisam,innodb,memory,merge)

  1. MyISAM:
    1)适用情况:默认的mysql插件式存储引擎,应用以读和插入为主,较少的更新和删除操作,且对事务的完整性和并发性要求不高
    2)使用场景:myisam在web,数据仓储和其他应用环境下是最常使用的存储引擎之一。

  2. InnoDB:
    1)作用:innodb可以有效降低删除、更新导致的锁定;确保事务的完整提交和回滚;用于事务处理应用程序,支持外键;
    2)适用情况:应用对事务的完整性有比较高的要求,在并发条件下要求事务的一致性,数据操作除了插入和查询外,还包括很多更新和删除;
    3)适用场景:类似计费系统或者财务系统等对数据准确性要求较高的系统,选择innidb比较合适。

  3. MEMORY:
    1)优点:将所有数据保存在ram中,在需要快速定位记录和其他类似数据的环境下,可提供极快的访问。
    2)缺陷:对表的大小有限制,太大的表无法缓存在内存中,其次要确保表的数据可以恢复,数据库异常终止后表中的数据是可以恢复的
    3)适用情况:memory表通常用来更新不太频繁的小表,用以快速得到访问效果。

  4. MERGE:
    1)适用情况:将一系列等同的myisam表以逻辑方式组合在一起,并作为一个对象引用他们。
    2)优点:可以突破对单个myisam表大小的限制;且通过将不同的表分布在多个磁盘上,可以有效改善merge表的访问效率;
    3)适用场景:诸如数据仓储等VLDB环境十分适合。
    正确选择存储引擎对改善应用的效率可以起到事半功倍的效果,选择好存储引擎,还需要正确选择表中数据类型。

二、常用的存储引擎:myisam和innodb

在mysql5.5之前,默认使用的存储引擎是myisam,5.5之后默认使用改为 innodb,几种常见存储引擎中,只有innodb和bdb是支持事务安全的,5.5之前默认的存储引擎myisam 是不支持事务安全,支持表锁机制,b树索引,全文索引,索引缓存,数据可压缩,空间使用和内存使用较低,批量插入的速度较快,不支持外键。5.5以后使用的存储引擎,优点为:支持事务安全,锁机制默认为行锁,支持B树索引、集群索引、数据缓存、索引缓存,不过空间使用和内存使用较高,批量插入速度较myisam低,不过innodb支持外键哦.

详细了解存储引擎 可分别查看: myisam
innodb

每种存储引擎对每个表至少支持16个索引,索引长度至少为256个字节。
myisam和innodb存储引擎的表默认btree索引。
默认情况下memory存储引擎使用hash索引,也支持btree索引。

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