MyISAM与InnoDB的区别
1. 存储结构:
MyISAM:(文件名以表名开始)
.frm文件存储表定义
.MYD文件存储数据
.MYI文件存储索引
InnoDB:
所有的表保存在同一个(也可能多个)数据文件中,表的大小仅受限于操作系统文件的大小,一般为2GB
2. 存储空间:
MyISAM:
可被压缩,存储空间较小。支持三种不同的存储格式:静态表、动态表、压缩表
默认为静态表,数据末尾不能有空格,否则会将空格去掉
InnoDB:
更多的内存和存储空间。在内存中建立专用的缓冲池用于高速缓冲数据与索引
3. 可移植性、备份与恢复:
MyISAM:以文件形式存储,转移方便。可单独针对某个表进行备份与恢复。
InnoDB:相对痛苦
4. 事务支持:
MyISAM:不支持事务
InnoDB:支持事务ACID
5. Auto-Increment:
MyISAM:自增长列必须为索引
InnoDB:同样,但要求若是组合索引,自增长列必须为第一列
6. 表锁:
MyISAM:表级锁
InnoDB:行级锁,大大提高并行性
7. 全文索引:
MyISAM:支持FULLTEXT
InnoDB:本身不支持FULLTEXT,用sphinx插件后支持效果更好
8. 表主键:
MyISAM:允许没有任何索引和Key的表存在
InnoDB:不允许。若没有索引则自动生成一个6字节的索引(按照本人的理解是:行级锁加载索引上)
9. 表的具体行数:
MyISAM:保存总行数,select count(*) from <table>;会取出该值
InnoDB:不保存总行数,select count(*) from <table>;会遍历表,高能耗
若加了where语句之后,二者相同
10. CURD:
MyISAM:select语句的最好选择
InnoDB:insert与update性能好,delete语句在InnoDB上效果更优,但是delete from <table>;语句InnoDB会进行逐行删除,最好改用truncate <table>
11. 外键FK:
MyISAM:不支持
InnoDB:支持
MyISAM与InnoDB的区别的更多相关文章
- MySQL中MyISAM和InnoDB的区别
MyISAM和InnoDB的区别 MySQL默认采用的是MyISAM. MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事 ...
- MyIsam和InnoDB的区别
个人见解: 1.最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持 所以有用到事务处理和外键的,要用Innodb 2. InnoDB 中不保存表的具体行数,也就是说,执行s ...
- myisam 与innodb的区别
myisam 与innodb的区别 frm结构 fri索引 frd数据 innodb:一个表一个文件:frm文件 所有的innodb表,都使用表空间储存, 数据和索引的保存文件不同,myisam 分开 ...
- MySQL存储引擎简介-MyISAM和InnoDB的区别
上篇文章<MySql逻辑结构简介>我们聊到了存储引擎,可以说MySQL可插拔的多元化存储引擎给我们的使用者带来了很灵活的选择. 这篇文章我们来聊一下目前主流的两种存储引擎MyISAM和In ...
- MySQL数据库之MyISAM与InnoDB的区别
MySQL数据库之MyISAM与InnoDB的区别 从以下几个方面: 1.存储结构 每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型. .frm文件存储表定义 ...
- MySQL存储引擎:MyISAM和InnoDB的区别
MyISAM和InnoDB的区别 定义 InnoDB:MySQL默认的事务型引擎,也是最重要和使用最广泛的存储引擎.它被设计成为大量的短期事务,短期事务大部分情况下是正常提交的,很少被回滚.InnoD ...
- 一天五道Java面试题----第八天(怎么处理慢查询--------->简述Myisam和innodb的区别)
这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.怎么处理慢查询 2.ACID靠什么保证的 3.什么是MVCC 4.mysql主从同步原理 5.简述Myisam和inn ...
- MySQL数据库引擎MyISAM和InnoDB的区别介绍
MySQL数据库有多种存储引擎:比如:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERATED.ARCHIVE.CSV.BL ...
- mysql的MyISAM 和 InnoDB 的区别?优化MYSQL数据库的方法?
MyISAM 和 InnoDB 的基本区别 1.InnoDB不支持FULLTEXT类型的索引. 2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from tabl ...
- mysql的引擎myisam和innodb的区别
1. MYISAM和INNODB的不同?答:主要有以下几点区别: a)构造上的区别 MyISAM在磁盘上存储成三个文件,其中.frm文件存储表定义:.MYD (MYData)为数据文件:. ...
随机推荐
- ecshop 嵌入地图加载不了问题
在ecshop 添加一个标识商家地理位置信息. 百度地图,加载不出来,查了下发现跟 js/transport.js 与 js/utils.js 两个文件有关在需要插入地图的地方去掉这两个文件的引用 地 ...
- js定位navigator.geolocation
一.简介 html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置. window.navigator.geolocation提供了3个方法分 ...
- php设计模式之迭代器模式
今天的PHP设计模式系列的主角是迭代器(Iterator)模式,迭代器模式提供了抽象:位于对象图不明部分的一组对象(或标量)集合上的迭代. 迭代器(Iterator)模式,它在一个很常见的过程上提供了 ...
- FASTMM,FASTCODE,FASTMOVE请移步
http://blog.csdn.net/akof1314/article/details/6524767
- python自动开发之第十二天
一.数据库的介绍 (1)由多张表组成(2)存取有规则,数据有关联(3)数据量大,被优化 好处:更有效的存取数据 二.关系型数据库管理系统(RDBMS) Oracle,Mysql,Sqlserver,D ...
- C++实现base64编码
将昨天的php代码改造成C++ /*base_64.h文件*/ #ifndef BASE_64_H #define BASE_64_H /** * Base64 编码/解码 * @author lir ...
- Android常用的颜色列表 color.xml
转自:http://blog.csdn.net/libaineu2004/article/details/41548313 <?xml version="1.0" encod ...
- Zephyr-MQTT
Zephyr OS 支持MQTT协议,其源码目录在: # cd /zephyr-/samples/net/paho_mqtt_clients/publisher/ # cd /zephyr-1.5.0 ...
- 0x80072f8a未指定的错误
问题: 安装DotNetCore.1.0.1-VS2015Tools.Preview2.0.2.exe提示:0x80072f8a未指定的错误 解决方法: 修改IE选项,取消选项 “检查服务器证书是否已 ...
- Strange Way to Express Integers (一般模线性方程组)
Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 8476 Accepted: 2554 Description Elin ...