mysql两种存储引擎innodb和myisam的区别

来源:互联网 发布:新世纪医疗网络 编辑:程序博客网 时间:2024/05/28 06:05

innodb:

支持事务,外键,行级锁(行级锁只支持where条件中有主键的sql)

不支持全文索引(fulltext)

不支持 load data from master

不保存表的具体行数 

主键必须有独立索引

myisam:

适合小型项目,读的性能强于innodb,数据以文件格式存储,恢复起来比较方便

索引和数据分开独立, 索引有压缩,比innodb体积小很多

用事务的项目用innodb


附:事务解释

原子性: 确保工作单元内的所有操作都成功完成,否则事务将被中止在故障点,和以前的操作将回滚到以前的状态。

一致性: 确保数据库正确地改变状态后,成功提交的事务。

隔离性: 使事务操作彼此独立的和透明的。

持久性: 确保提交的事务的结果或效果的系统出现故障的情况下仍然存在。

在MySQL中,事务开始使用COMMIT或ROLLBACK语句开始工作和结束。开始和结束语句的SQL命令之间形成了大量的事务。

COMMIT & ROLLBACK: 
这两个关键字提交和回滚主要用于MySQL的事务。

当一个成功的事务完成后,发出COMMIT命令应使所有参与表的更改才会生效。

如果发生故障时,应发出一个ROLLBACK命令返回的事务中引用的每一个表到以前的状态。

0 0
原创粉丝点击