[高性能MySQL]-存储引擎MyISAM与InnoDB基本区别
2017-02-24 20:33
627 查看
这篇博文主要是总结关于MyISAM与InnoDB的区别
InnoDB和MyISAM是使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:
(1)MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持事务。
(2)InnoDB支持数据行锁定;MyISAM不支持行锁定,只支持锁定整个表。这里需要注意的是InnoDB表的行锁也不是绝对的,假如在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”
(3)InnoDB支持外键,MyISAM不支持。
(4)InnoDB 中不保存表的具体行数,也就是说,执行select count() from table时,InnoDB要扫描一遍整个表来计算有多少行。但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含 where条件时,两种表的操作是一样的。
InnoDB和MyISAM是使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:
(1)MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持事务。
(2)InnoDB支持数据行锁定;MyISAM不支持行锁定,只支持锁定整个表。这里需要注意的是InnoDB表的行锁也不是绝对的,假如在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”
(3)InnoDB支持外键,MyISAM不支持。
(4)InnoDB 中不保存表的具体行数,也就是说,执行select count() from table时,InnoDB要扫描一遍整个表来计算有多少行。但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含 where条件时,两种表的操作是一样的。
相关文章推荐
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- mysql 存储引擎 InnoDB和myisam存储引擎的区别 /(自己小结)
- MySQL存储引擎 InnoDB 与 MyISAM 的区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- MySQL存储引擎MyISAM和InnoDB的区别及mysql优化
- MySQL存储引擎MyISAM和InnoDB的区别及mysql优化
- Mysql存储引擎InnoDB和MyISAM的区别对比
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- MYSQL的常用存储引擎MyISAM和InnoDB的区别
- Mysql存储引擎中InnoDB与Myisam的主要区别
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql存储引擎:InnoDB和MyISAM的区别与优劣(转)
- Mysql 存储引擎中InnoDB与MyISAM的主要区别
- MySQL存储引擎:MyISAM和InnoDB的区别
- Mysql存储引擎InnoDB和MyISAM几点区别