InnoDB:支持事务,支持表级锁,行级锁,支持外键,是非聚集索引。 MyISAM:不支持事务,支持表级锁,不支持外键,聚集索引。 聚集索引和非聚集索引的区别:InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构 ...
分类:
数据库 时间:
2020-07-12 22:03:47
阅读次数:
71
MySQL索引 原理 b+ 树,记住这棵树!索引所有优化都围绕这棵树展开(hash索引除外) 优缺点 优点 索引大大减小了服务器需要扫描的数据量 索引可以帮助服务器避免排序和临时表 索引可以将随机IO变成顺序IO 索引对于InnoDB(对索引支持行级锁)非常重要,因为它可以让查询锁更少的元组。在My ...
分类:
数据库 时间:
2020-07-11 12:57:09
阅读次数:
69
MySQL锁机制 MySQL都有什么锁 MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间 ...
分类:
数据库 时间:
2020-06-18 10:48:54
阅读次数:
57
MySQL Myisam引擎和Innodb引擎的区别 Myisam Innodb 5.5版本前默认引擎 5.5后默认引擎 索引数据结构 B+树 B+树 索引类型 非聚集索引 聚集索引 事务 不支持 支持(提交、回滚) 外键 不支持 支持 锁级别 表级锁 行级锁,能抗更高并发。可能发生死锁,消耗资源多 ...
分类:
数据库 时间:
2020-06-17 12:56:21
阅读次数:
75
1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 ...
分类:
数据库 时间:
2020-06-16 15:07:23
阅读次数:
106
mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共享锁与排他锁进行分享交流。 共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。 排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存, ...
分类:
数据库 时间:
2020-06-12 12:38:33
阅读次数:
66
众所周知MySQL从5.5.8开始,Innodb就是默认的存储引擎,Innodb最大的特点是:支持事务、支持行级锁。 既然支持事务,那么就会有处理并发事务带来的问题:更新丢失、脏读、不可重复读、幻读;相应的为了解决这四个问题, 就产生了事务隔离级别:未提交读(Read uncommitted),已提 ...
分类:
数据库 时间:
2020-06-06 21:48:19
阅读次数:
112
innoDB和myisam的区别 InnoDB支持事物,而MyISAM不支持事物 InnoDB支持行级锁,而MyISAM支持表级锁 InnoDB支持MVCC, 而MyISAM不支持 InnoDB支持外键,而MyISAM不支持 InnoDB支持聚集索引,而MyISAM不支持 InnoDB不支持全文索引 ...
分类:
数据库 时间:
2020-05-27 20:46:23
阅读次数:
125
题目一 MyISAM和InnoDB的区别,什么时候选择MyISAM 参考回答 InnoDB是目前MySQL主流版本(5.6、5.7、8.0)默认的存储引擎,支持事务、外键、行级锁,对于并发条件下要求数据的一致性,适用于对数据准确性要求高的场景。 MyISAM只支持表级锁、数据排列是按照插入顺序,没有 ...
分类:
数据库 时间:
2020-05-26 00:55:03
阅读次数:
92
官方文档:InnoDB Locking and Transaction Model 一、InnoDB存储引擎中的锁 1.共享锁和排它锁(Shared and Exclusive Locks)--行级别锁 InnoDB存储引擎实现了两种标准的行级锁: 共享锁(S):允许持有该锁的事务读取一行记录。 排 ...
分类:
数据库 时间:
2020-05-23 16:24:29
阅读次数:
81