后端八股笔记-----mysql

Mysql






聚合查询------------可以用增加一个实例表解决

多表查询------------可以优化sql语句进行查询


👆 显示Using index condition的话 说明是有优化的空间
















👆唯一索引指的是类似主键这种数据内容唯一的属性





👆图中的最后一个sql的索引就失效了一个,因为key_len是303 只按照了name的索引去查询。

👆范围查询列中,第二个sql只命中到了status的索引,往后的索引失效了。

👆进行运算操作直接失效。




👆union all会合并,即使有重复也会都展示,union会把重复的数据过滤掉(造成了速度慢)




👆为并发事务造成的问题。

👆这就是脏读,读到了错误数据(本该更新但是还没更新的数据);(并发造成的问题)

👆不可重复读,指的就是id为1的数据读了两次,但是中间被提交更新了,所以读到的数据不一样。(失去了事务的一致性)

👆中,假设已经解决了不可重复读问题,那么两次select读到的数据是一样的,都是db中没有数据,但是插入操作执行的时候又显示有该数据(幻读)

其中 ×为可以解决的问题,√为不能解决的问题。



提升了效率保证了安全性,因为如果一一的去磁盘更新数据,磁盘太分散效率低,通过被写入的log文件来更新信息的话,可以对磁盘进行顺序的更新访问效率提升较多,而且磁盘中的log文件和内存中的log文件还可以进行数据恢复,保证了安全性。





👆当前读,两个select读到的内容不一样

快照读,read committed是不保证重复读(不可重复度),两次读的不一样

而快照读 ,Repeatable Read是保证重复读。


RC的隔离级别下的访问 参照上图的 执行事务5, 确定在记录中的trx_id是4,然后依次判断右边的条件,最后 第一次查询只能访问到事务2提交后的记录 第二次 事务3



👆主从同步原理是根据两个日志文件实现的







相关推荐
AllData公司负责人5 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe26 小时前
数据库备份的分类与特点
数据库
Rabitebla9 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
时间的拾荒人9 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠10 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__11 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行35012 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
坤坤子吖14 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
星恒随风15 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下16 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库