自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Mysql系列

以下所有内容均是总结 丁奇老师的 Mysql45讲, 此文章的用途也仅仅只是自己做笔记用.如果错误往指出改正!

2024-01-16 10:44:27 365 1

原创 第一章:一条SQL查询语句是如何执行的

当Mysql拿到一个查询请求后,就会查询缓存, 缓存是以键值对(key -value )的形式储存在内存中的,key为查询的sql,value为sql执行后的数据,如果缓存有,则直接返回value;完成了上面的几步之后,来到了执行器,则开始进行sql的执行,但是执行之前还会判断一下此账号是否对这张表有执行权限;如果没有命中缓存,则来到这一步,此步的作用是分析 sql语法,譬如mysql经常报的语法错误就在这一步;如果缓存没有,则执行下面的步骤,同时把查询出来的结果放入缓存,所以每次更新数据都会更新缓存;

2024-01-18 14:14:05 352 1

原创 第四章:索引

1、主键索引: 建表的时候默认会创建主键索引,叶子节点储存行数据(聚簇索引),建议用自增id(int,bigint ,占用的字节少,节省空间);2、非主键索引:除了主键索引都是非主键索引,叶子节点记录主键id,方便回表查询数据;3、覆盖索引:如果查询条件使用的是普通索引(或是联合索引的最左原则字段),查询结果是联合索引的字段或是主键,不用回表操作,直接返回结果,减少IO磁盘读写读取正行数据;4、最左前缀:联合索引的最左 N 个字段,也可以是字符串索引的最左 M 个字符;

2024-01-18 14:12:03 796 1

原创 第三章:事务

如果是一个需要频繁使用事务的业务,使用commit work and chain语法 , 提交事务并自动启动下一个事务,这样也省去了再次执行begin语句的开销。可重复读: 是指,一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。所以从A的角度看, V1、V2值是1,V3的值是2;读提交 :则V1是1,V2的值是2。事务B的更新在提交后才能被A看到。读未提交: 是指,一个事务还没提交时,它做的变更就能被别的事务看到。读提交 :是指,一个事务提交之后,它做的变更才会被其他事务看到。

2024-01-18 14:08:17 329 1

原创 第二章:一条SQL更新语句是如何执行的

InnoDB的redo log是固定大小的,比如可以配置为一组4个文件,每个文件的大小是1GB,那么这个文件总共就可以记录4GB的操作。binlog是逻辑日志,记录的是这个语句的原始逻辑,比如“给ID=2这一行的c字段加1 ”。redo log是循环写的,空间固定会用完;执行器拿到引擎给的行数据,把这个值加上1,比如原来是N,现在就是N+1,得到新的一行数据,再调用引擎接口写入这行新数据。以下为update语句的执行流程图,图中浅色框表示是在InnoDB内部执行的,深色框表示是在执行器中执行的。

2024-01-16 16:52:24 337 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除