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

mysql 那些年(1) MyISAM 存储引擎innoDB的对比

2017-05-22 00:00 656 查看
摘要: mysql 那些年(1) MyISAM 存储引擎innoDB的对比

MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。
若要修改默认引擎,可以修改配置文件中的default-storage-engine。可以通过:show variables like 'default_storage_engine';查看当前数据库到默认引擎。命令:show engines和show variables like 'have%'可以列出当前数据库所支持到引擎。其中Value显示为disabled的记录表示数据库支持此引擎,而在数据库启动时被禁用。在MySQL5.1以后,INFORMATION_SCHEMA数据库中存在一个ENGINES的表,它提供的信息与show engines;语句完全一样,可以使用下面语句来查询哪些存储引擎支持事物处理:select engine from information_chema.engines where transactions = 'yes';
可以通过engine关键字在创建或修改数据库时指定所使用到引擎。
主要存储引擎:MyISAM、InnoDB、MEMORY和MERGE介绍:
在创建表到时候通过engine=...或type=...来指定所要使用到引擎。show table status from DBname来查看指定表到引擎。

MyISAM innoDB对比项
不支持支持主外键
不支持支持事务
只是缓存索引不缓存真实数据同时缓存索引和数据
对内存要求较高,
内存的大小对性能有决定性影响
缓存
表空间
性能事务适合点
表锁,即使操作一条记录
也会锁整张表,不适合并发大
行锁,操作时仅仅锁住一行
,适合高并发
行表锁
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: