MyISAM特点

1)不支持行锁(MyISAM只有表锁),读取时对需要读到的所有表加锁,写入时则对表加排他锁;

2)不支持事务

3)不支持外键

4)不支持崩溃后的安全恢复

5)在表有读取查询的同时,支持往表中插入新纪录

6)支持BLOB和TEXT的前500个字符索引,支持全文索引

7)支持延迟更新索引,极大地提升了写入性能

8)对于不会进行修改的表,支持 压缩表 ,极大地减少了磁盘空间的占用

InnoDB特点

1)支持行锁,采用MVCC来支持高并发,有可能死锁

2)支持事务

3)支持外键

4)支持崩溃后的安全恢复

5)不支持全文索引

主要区别:

1)是否支持事务

2)是否支持行级锁

3)崩溃后能否安全恢复

4)count运算上的区别: 因为MyISAM缓存有表meta-data(行数等),因此在做COUNT(*)时对于一个结构很好的查询是不需要消耗多少资源的。而对于InnoDB来说,则没有这种缓存。但如果有where条件,两者都需要执行count(*)查询。

Mysql的行锁和表锁( 锁是计算机协调多个进程或纯线程并发访问某一资源的机制) 表级锁: 每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低; 行级锁: 每次操作锁住一行数据。开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高;

参见:https://juejin.im/post/5b1685bef265da6e5c3c1c34

最新文章

  1. SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]
  2. JavaScript数据操作--原始值和引用值的操作本质
  3. input lable水平对齐
  4. 访问 IIS 元数据库失败 的解决方法
  5. 内核源码分析之linux内核栈(基于3.16-rc4)
  6. C++里的int 和string类型相互转换
  7. atof
  8. gitlab使用入门
  9. 腾讯QQ:异地登陆也被封号,你们是怎么决策的???
  10. css图片上下垂直居中
  11. 【Android进阶】Activity的四种加载模式
  12. Sqoop将mysql数据导入hbase的血与泪
  13. 机器学习(4)Hoeffding Inequality--界定概率边界
  14. 4月10日java上机任务
  15. @+id/和android:id有什么区别?
  16. 「THUSCH 2017」大魔法师 解题报告
  17. Git 常用命令列表
  18. my big day is coming!
  19. linux下硬盘的分区:
  20. Webkit内核探究【2】——Webkit CSS实现

热门文章

  1. MAC自动化环境搭建
  2. 通过Socket实现TCP编程(十二)
  3. JDOJ 1770 埃及分数
  4. python爬虫之获取页面script里面的内容
  5. C++中#define与typedefine的区别
  6. hadoop 输入路径用正则表达式被默认处理为多个参数的问题
  7. 洛谷P2194 【HXY烧情侣】
  8. 日常笔记3关于bool类型数组初始化的问题
  9. [LeetCode] 743. Network Delay Time 网络延迟时间
  10. [LeetCode] 494. Target Sum 目标和