首页 > 技术文章 > MySQL存储引擎

chandb 2017-08-22 21:19 原文

1.什么是存储引擎?
存储引擎就是指表的类型。数据库的存储类型决定了表在计算机中的存储方式。用户可以根据不
同的存储方式、是否进行事务处理等来选择合适的存储引擎。

2.如何查看MySQL的存储引擎?
  查看MySQL支持的存储引擎:SHOW ENGINES
  查看显示支持的存储引擎信息:SHOW VARIABLES LIKE 'have%'
  查看默认的存储引擎:SHOW VARIABLES LIKE 'storage_engine'

3.MySQL常用存储引擎及特点
在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM。
InnoDB存储引擎
支持外键。
支持事物,当需要使用数据库的事务时,该引擎就是首选。
它的设计的目标就是处理大数据容量的数据库系统,提供了具有提交、回滚和崩溃恢复能力的 事务安全,

支持事务处理和故障的恢复。
提供了行级锁,由于锁的粒度小,写操作是不会锁定全表的。所以在并发度较高的场景下使用 效率明显。

MyISAM存储引擎
不支持事物,只进行插入数据,读取数据。
不支持外键,也不支持行级锁和外键。因此当执行Insert插入和Update更新语句时,即执行 写操作的时候需要锁定这个表。所以会导致效率会降低。
MyIASM引擎保存了表的行数,于是当进行Select count(*) from table语句时,可以直接的 读取已经保存的值而不需要进行扫描全表。

对读操作远远多于写操作的数据库,且不需要事务 的支持的,可以将MyIASM作为数据库引擎的首选。

MEMORY存储引擎
临时表,数据存储在内存中,读取速度快,安全性低,用的较少。

推荐阅读