Mysql存储引擎myisam和innodb的区别
来源:互联网 发布:淘宝基金在哪里看 编辑:程序博客网 时间:2024/05/16 11:39
Mysql存储引擎myisam和innodb的区别
1、主要的区别:
MyISAM 是非事务的存储引擎;锁的级别是:表锁。
innodb是支持事务的存储引擎;锁的级别是:行锁。
最大的区别就是MYISAM适合小数据,小并发或频繁查询的应用;INNODB适合大数据,大并发或插入和更新操作比较多的应用。
2、MyISAM的执行速度比InnoDB类型更快。
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。综述,就可以根据数据表不同的用处选择不同的存储类型。而且MyISAM是文件存储的,可以进行直接在不同操作系统间拷贝使用。
3、InnoDB:
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。InnoDB提供了行锁(locking on row level),提供与Oracle 类型一致的不加锁读取(non-locking read in SELECTs)。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定(lock escalation),因为 InnoDB的列锁定(row level locks)适宜非常小的空间。InnoDB是 MySQL上第一个提供外键约束(FOREIGN KEY constraints)的表引擎。InnoDB的设计目标是处理大容量数据库系统,它的 CPU利用率是其它基于磁盘的关系数据库引擎所不能比的。在技术上,InnoDB是一套放在 MySQL后台的完整数据库系统,InnoDB在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。 InnoDB把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来说,在 MyISAM 中,表被存放在单独的文件中。InnoDB表的大小只受限于操作系统的文件大小,一般为 2 GB。InnoDB所有的表都保存在同一个数据文件ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,可以拷贝文件或用navicat for mysql。
4、MyISAM:
每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义、 数据文件是MYD (MYData)、索引文件是MYI (MYIndex)引伸。因为MyISAM相对简单所以在效率上要优于InnoDB,小型应用使用MyISAM是不错的选择。MyISAM表是保存成文件的形式,跨平台的数据转移中使用MyISAM存储会省去不少的麻烦。
- MySql 存储引擎InnoDB 和Myisam区别
- MYSQL存储引擎InnoDB和myisam区别
- mysql 存储引擎 innodb和myisam 区别
- MYSQL的常用存储引擎MyISAM和InnoDB的区别
- Mysql 的存储引擎,myisam和innodb的区别
- 【Day18】Mysql 的存储引擎,myisam和innodb的区别
- mysql的存储引擎:MyISAM和InnoDB的区别
- Mysql的存储引擎,myisam和innodb的区别
- Mysql的存储引擎 MyISAM和InnoDB的区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- Mysql存储引擎InnoDB和MyISAM的区别对比
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- MySQL存储引擎:MyISAM和InnoDB的区别
- mysql存储引擎myisam和innodb的区别
- maven 汇总
- thinkphp连接数据库具体步骤
- Nginx之(四)工作原理
- ajax提交表单后,清空表单
- 初识GCD
- Mysql存储引擎myisam和innodb的区别
- Java 线程组和线程池区别
- 安卓实战——第三方服务之Bmob后端云(一)集成工作。
- Python 入门指南
- Apache Bigtop再论与卖书求生存
- Python学习笔记(11)-函数式编程
- ffmpeg命令: 删除视频中不需要的音频流
- 存储空间划分
- Qt中的qDebug()像cout那样用