mysql
夜雨声烦Zzz
这个作者很懒,什么都没留下…
展开
-
事务与锁的使用建议(间隙锁,死锁)
事务回滚事务特性:原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一...原创 2019-07-08 10:58:05 · 1484 阅读 · 0 评论 -
事务隔离与锁机制
锁的简单概述InnoDB 存储引擎既支持行级锁,也支持表级锁,默认情况下使用行级锁。所谓表级锁,它直接锁住的是一个表,开销小,加锁快,不会出现死锁的情况,锁定粒度大,发生锁冲突的概率更高,并发度最低。所谓行级锁,它直接锁住的是一条记录,开销大,加锁慢,发生锁冲突的概率较低,并发度很高。所谓页级锁,它是锁住的一个页面,它的开销介于表级锁和行级锁中间,也可能会出现死锁,锁定粒度也介于表级锁和...原创 2019-07-05 14:21:37 · 230 阅读 · 0 评论 -
Mysql几个会被问到的面试题
为什么一定要设置一个主键答:在不设置主键的情况下,innodb会自动为你生成一个隐藏列,作为自增主键。我们自己通常设置的id为主键,会做作为主键索引来使用。主键为什么不推荐有业务含义答:带有业务含义通常都会又可变化性,而且这样的数据不一定是自增的,那么在插入的时候就会造成中间插入的可能性,引发页分裂,产生空间碎片插入中数据库的枚举(enum),为什么通常会用tinnyInt来代...原创 2019-07-17 17:43:46 · 219 阅读 · 0 评论 -
Mysql结构,SQL语句执行流程
在之前事务的介绍中我们知道了事务的4个特性(ACID),我们知道隔离性其实就是通过添加各种锁来保证,这次我们来看一下用来保证事务其他3个特性的日志Redo,Undo。在我们了解这两种日志之前,我们先来了解一下Mysql的结构Mysql结构图从这张图中,我们可以看到将MySQL分成了4个部分,下面将逐步说明一下网络连接层这一块其实就是连接管理,授权认证,可以通过我们平时用的ip,密码连接,...原创 2019-08-02 16:54:49 · 142 阅读 · 0 评论 -
事务中两个重要的文件Redo Undo
在之前事务的介绍中我们知道了事务的4个特性(ACID),我们知道隔离性其实就是通过添加各种锁来保证,这次我们来看一下用来保证事务其他3个特性的日志Redo,Undo。在我们了解这两种日志之前,我们先来了解一下Mysql的结构Redo的作用Redo log的主要作用是用于数据库的崩溃恢复Redo的组成存储在内存中的重做日志缓冲redo log buffer存储在磁盘中的重做的日志文件r...原创 2019-08-02 18:03:50 · 142 阅读 · 0 评论