Innodb和Mysiam引擎的区别
一:区别
Mysiam:
1.是非事务安全型。
2.是表级锁。
3.如果执行大量的select,Mysiam是更好的选择。
4.select count(*)from table。Mysiam只简单的读取保存好的行。注意:count(*)语句包含where条件时,两种表操作一样。
5.不支持外键。
Innodb:
1.是事务安全型的(支持事务处理等高级处理)。
2.是行级锁。
3.如果你的数据执行大量的Insert或updata,出于性能的考虑,应使用innodb表。
4.Innodb不保存表的具体行,也就是说,执行,select count(*) form table 时,要扫描一遍整个表来计算有多少行。
5.支持外键。
二:为什么Mysiam比Innodb的查询速度快。
Innodb在做select的时候,要维护的东西比Mysiam引擎多的多。
1.数据块,Innodb要缓存,Mysiam只缓存索引块,这中间还有换进换出的减少。
2,Innodb寻址要映射到块。在到行。Mysiam记录的直接是文件的offset,定位比Innodb要快。
3.Innodb还需要维护MVCC一致,虽然你的场景没有,但他还是需要检查和维护。(MVCC多版本并发控制)
三:应用场景
Myisam适合:1.做很多的count的计算;2.插入不频繁,查询非常频繁;3.没有事务。
Innodb适合:1.可靠性要求比较高,或者要求事务;2.表更新和查询都相当频繁,并且行锁定的机会比较大的情况。
Innodb和Mysiam引擎的区别的更多相关文章
- 为什么要使用索引?-Innodb与Myisam引擎的区别与应用场景
Innodb与Myisam引擎的区别与应用场景 http://www.cnblogs.com/changna1314/p/6878900.html https://www.cnblogs.com/ho ...
- Mysql表的七种引擎类型,InnoDB和MyISAM引擎对比区别总结
InnoDB和MyISAM区别总结 我用MySQL的时候用的是Navicat for MySQL(Navicat for mysql v9.0.15注册码生成器)操作库.表操作的,默认的表就是Inno ...
- Innodb与Myisam引擎的区别与应用场景
1. 区别: (1)事务处理: MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理): (2)锁机制不同: MyISAM是表级锁,而InnoDB是行级锁: (3)sel ...
- 数据库优化-mysql中INNODB和MYIASM引擎的区别
Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别. 该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQ ...
- mysql中engine=innodb和engine=myisam的区别(转)
转自http://blog.csdn.net/lingyi_xu/article/details/5393791 innodb引擎和mysiam引擎的区别 引擎 事务 外键 建 ...
- MySQL存储引擎 InnoDB/ MyISAM/ MERGE/ BDB 的区别
MyISAM:默认的MySQL插件式存储引擎,它是在Web.数据仓储和其他应用环境下最常使用的存储引擎之一.注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改MySQL服务器的默认 ...
- InnoDB与MyISAM引擎区别
mysql中InnoDB与MyISAM两种数据库引擎的区别: 一.InnoDB引擎: 1.支持事务性, 2.支持外部键, 3.行级锁, 4.不保存表的具体行数,执行select count(*) fr ...
- MySql两种存储引擎的区别
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点 ...
- 事务以及MySQL事务隔离级别+MySQL引擎的区别
1.事务的基本要素:ACID 1.原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...
随机推荐
- Qt获取控件位置,坐标总结
总结的结果是: QMouseEvent中两类坐标系统,一类是窗口坐标,一类是显示器坐标. 总结一:经过试验,QMouseEvent::globalPos() 和 QCursor::pos()效果 ...
- ExpressRoute 常见问题
什么是 ExpressRoute? ExpressRoute 是一项 Azure 服务,允许在 Microsoft 数据中心与本地环境或共同租用设施中的基础结构之间创建专用连接. ExpressRou ...
- C#操作GridView控件
GridView控件是一个visualStudio自带的数据控件,它可以非常快速的将数据以表格方式显示在web页面上.下面就是一个利用GridView控件进行数据绑定的小例子,内容如下: 数据来源自一 ...
- Recursive functions and algorithms
http://en.wikipedia.org/wiki/Recursion_(computer_science)#Recursive_functions_and_algorithms A commo ...
- 对于当下国产CPU如火如荼有感
国家在国家战略层面去做国产CPU这个事情,从初衷来说是好的.国产CPU战略如果能够实现,则会大大加强我国在计算机产业领域从头到尾的话语权与技术竞争力.但是个人觉得,事情不是那么简单.我将从下面几个方面 ...
- switch与java
switch结构可以更好的解决等值判断问题switch 选择结构的语法:switch (表达式){case 常量 1://代码块1:break;case 常量 2://代码块2:break;..... ...
- Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】
1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝
- HTML IMG标签SRC为null
今天做项目遇到一个错 研究了半天才发现 其实就是一个小错 稍微注意一下 就能规避 HTML标签<img src="null">这种情况下在chrom的debug下就会报 ...
- JMeter中文版用户手册
1.1 简介 使用JMeter通常会有以下步骤: 1.1.1 创建测试计划 首先,运行JMeter图形化界面. 然后在文件菜单中选择Templates…->Recording,通过浏览器录制We ...
- 一个简单的php分页逻辑
php分页 <?php include 'backend/conn.php'; $html = '<ul>'; //输出的html $pageDataNum=3; //每页显示10行 ...