innodb和myisam对比
2024-09-02 00:53:04
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的行锁和表锁( 锁是计算机协调多个进程或纯线程并发访问某一资源的机制) 表级锁: 每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低; 行级锁: 每次操作锁住一行数据。开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高;
最新文章
- SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]
- JavaScript数据操作--原始值和引用值的操作本质
- input lable水平对齐
- 访问 IIS 元数据库失败 的解决方法
- 内核源码分析之linux内核栈(基于3.16-rc4)
- C++里的int 和string类型相互转换
- atof
- gitlab使用入门
- 腾讯QQ:异地登陆也被封号,你们是怎么决策的???
- css图片上下垂直居中
- 【Android进阶】Activity的四种加载模式
- Sqoop将mysql数据导入hbase的血与泪
- 机器学习(4)Hoeffding Inequality--界定概率边界
- 4月10日java上机任务
- @+id/和android:id有什么区别?
- 「THUSCH 2017」大魔法师 解题报告
- Git 常用命令列表
- my big day is coming!
- linux下硬盘的分区:
- Webkit内核探究【2】——Webkit CSS实现