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): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...
随机推荐
- Android中使用异步线程更新UI视图的几种方法
在Android中子线程是不能更新ui的. 所以我们要通过其他方式来动态改变ui视图, 1.runOnUiThreadactivity提供的一个轻量级更新ui的方法,在Fragment需要使用的时候要 ...
- JAVA - JDK 1.8 API 帮助文档-中文版
JAVA - JDK 1.8 API 帮助文档-中文版 百度云链接: https://pan.baidu.com/s/1_7FFadw1a6J0qTfx2FzqPQ 密码: 41n4
- JS中0与‘0’
JS中0为false,字符串‘0’为true
- java笔记--ASCII编码认知和转换
ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示英语字符是当今最通用的单字节编码.包括128个字符. --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs. ...
- leetcode Ch4-Binary Tree & BFS & Divide/Conquer
一. 1. Lowest Common Ancestor class Solution { public: TreeNode *lowestCommonAncestor(TreeNode *root, ...
- leetcode Ch2-Dynamic Programming I
一. 1. Edit Distance class Solution { public: int minDistance(string t1,string t2) { int len1=t1.size ...
- MySQL 8.0复制性能的提升(翻译)
What’s New With MySQL Replication in MySQL 8.0 MySQL复制从问世到现在已经经历了多个年头,它的稳定性和可靠性也在稳步的提高.这是一个不停进化的过程,由 ...
- CAShapeLayer的使用[2]
CAShapeLayer的使用[2] CAShapeLayer支持的动画类型有如下这些. ------------------------------------------------------- ...
- Asp.Net MVC Identity 2.2.1 使用技巧(二)
之前我们看到了新生成的项目中跟identity有关的有四个文件,这些文件是基础功能,并未开启identity的全部功能.现在我们先启用角色功能. 1.在App_Start文件夹中的IdentityCo ...
- July 30th 2017 Week 31st Sunday
Eternity is not a distance, but a decision. 永恒不是一段距离,而是一种决定. What can be called as eternity? Wealth ...