mysql
我钟意饮王老菊
Just lose it
展开
-
mysql事务隔离级别的实现原理
前言: 好久没更新了,我又回来了。承接上一篇mysql innodb的文章。 隔离级别: 事务隔离级别要实际解决的问题 脏读 脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。读到了并一定最终存在的数据,这就是脏读。 更新丢失 一个事务的更新操作会被另外一个事务的更新操作所覆盖,从而导致数据的不一致 不可重复读 不可重复读指的是在同一事务内,不同的时刻读到的同一批数据可能是不一样的,可能会受到其他事务的影响,比如其他事务原创 2020-07-19 15:38:14 · 203 阅读 · 0 评论 -
Mysql锁机制原理innodb
前言: 唏嘘唏嘘,提前批投了一手字节,简历就被筛选掉了,无时无刻不在提醒我是个小菜鸡=。=,老老实实更新了。 锁 锁的粒度 行锁 只针对操作的当前行进行加锁。并发情况下,产生锁等待的概率较低,支持较大的并发数,但开销大,加锁慢,而且会出现死锁。 (在InnoDB中使用行锁有一个前提条件:检索数据时需要通过索引!因为InnoDB是通过给索引的索引项加锁来实现行锁的。) 表锁: 表锁的锁定颗粒度在MySQL中是最粗的,InnoDB、MyISAM引擎中都有应用,对当前整张表加锁。不适合高并发的场景,但开销小,加原创 2020-07-03 22:55:51 · 488 阅读 · 0 评论 -
为什么要用建立索引以及为什么要用b+树?
前言: https://www.youtube.com/watch?v=aZjYr87r1b8 看到了一个印度阿三讲述的B树和B +树。它们在数据库中的作用。精了,以前一直模模糊糊的问题这里一下子就清晰了。这里记录下来。 磁盘结构 抽象出来的磁盘结构:按等份分为n个扇区(Sector),按照n个圆环分为n个轨道(tracks)。如果我要读去某块区域(block)的内容需要用到(轨道号,扇区号)来进行定位。 通常将block块取为512字节。然后block都是从0-511的表示,则我们如果需要读去某段字节,原创 2020-06-26 01:11:52 · 340 阅读 · 0 评论 -
mysql高级查询操作
一直对于sql语句的印象不高,只依稀用过点子查询语句,想起来还不一定记得是什么查询语句,这次归纳总结一下mysql的高级查询语句。最后附上建表语句 (一).联合查询 概念:通过关键字将多条查询SQL语句连接起来。主要用于数据太多,分表后的查询。 基本语法: select 语句 union[union选项] select 语句; union选项:与select选项基本一样 distinct:去重,去...原创 2019-11-26 15:20:18 · 452 阅读 · 0 评论