【学习总结】MySQL篇

news2024/11/27 1:36:56

MySql

事务ACID

原子性

事务是不可分割的最小单元,一个事务的若干sql操作。要么统一成功,要么统一失败。(redoLog)

持久性

数据库的数据在宕机,丢失数据的情况下。可以回滚数据,这由mysql的日志完成(redoLog)

隔离性

两个事务的操作,应该互不干扰。一个事务,不会对另一个事务照成干扰。(锁)

一致性

一个事务执行前后并不会破坏数据库的一致性。比如一张表的name字段是唯一的,事务执行后,并不对name字段的唯一性造成破坏。(undoLog)

RedoLog和BinLog的区别

使用情景

binlog 主从复制,容灾备份
redolog 维持事务的一致性ACID

记录形式

binlog 有三种格式的日志保存log
redolog 纯物理记录日志

记录时机

binlog 每条sql都会记录
redolog 只有事务执行完毕才会保存日志

MYSQL锁的算法

行锁

Record Lock

单个行上锁

GapLock

间隙锁,锁定一个范围。但不包括记录本身。

Next-Key Lock

范围锁 相当于 Record Lock + GapLock(包含记录本身)

MySQL锁的问题

脏读

事务A读了两次,事务B的还没提交,结果事务A读的两次不一致。

不可重复读

事务A两次读取的途中,事务B修改了一行数据。

幻读

事务A两次读取的途中,事务B新增了一行数据。

MVCC

MVCC多版本并发控制,是为了解决事务操作中并发安全性问题而诞生的一种技术。

MVCC 主要解决了三个问题

1、采用乐观锁的机制,降低死锁概率。

2、解决一致性读的问题。事务开始到结束都读的同一份数据。

3、解决读写并发阻塞问题。提升数据并发处理能力。

事务的隔离级别

读已提交

TODO 原理(加的什么锁)

读未提交

TODO 原理(加的什么锁)

可重复读

TODO 原理(加的什么锁)

串行化

TODO 原理(加的什么锁)

效果

MySQL的优化

架构设计层面的优化

主从复制
读写分离
分库分表
引入缓存

SQL优化

通过慢查询日志定位SQL语句
通过explain语句分析SQL语句
改SQL

例子:https://www.bilibili.com/video/BV1fM4m127tb/?spm_id_from=333.1007.top_right_bar_window_history.content.click

思想:面对大批量数据排序。只排序id再查全部数据,比全部数据一股脑排序性能更好。

因为:mysql分为服务层和存储引擎层。如果把所有数据放在mysql服务层会导致mysql压力过大。把单独的id放在服务层排序。压力会小很多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1985567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快讯 | Meta Llama 4模型:24万GPU打造,将于2025年登场!

在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…

标准IO——文件定位、文件IO

续:feof、ferror(检测一个流是否出错)、clearerr(清除一个流出错的标记)。 一、标准IO文件定位 1、fseek(定位) int fseek(FILE *stream , long offset(偏移长度) , int whence(偏移起始位置)) 其中when…

ROS 7上实现私网互通方案

一、背景: 第一个私网现状:连接公域网是由tp-link进行拨号链接使用动态公网ip,内部网段是192.168.1.0/24 第二个私网现状:连接公域网是机房的固定公网ip,内部网段为10.0.0.0/16二、目标 安全的打通192.168.1.0/24和10.0.0.0/16的网络, 使得前者局域网中的机器能够安全访…

全域运营系统质量对比:各大源码厂商搭建效能解析!

随着全域运营时代的到来,全域运营商的申请热度日渐上升,各大全域运营系统及其背后的源码厂商也因此备受关注。本期,小编将围绕全域运营系统的市场份额、搭建体系以及落地运营三个方面的内容,以帮助大家对各大源码厂商在全域运营系…

Probit 回归模型及 Stata 具体操作步骤

目录 一、文献综述 二、理论原理 三、实证模型 四、稳健性检验 五、程序代码及解释 一、文献综述 Probit 回归模型作为一种重要的统计分析工具,在众多学科领域中发挥着关键作用,吸引了众多学者的深入研究和广泛应用。 在经济学领域,Probi…

python-打分(赛氪OJ)

[题目描述] 最近学校组织了校园歌手大赛,并且让全校师生为歌手评分(分数的范围为 1−100 分),但由于投票系统太过于落后,最后的计票中发现了如下几种票: - 分数大于 100 - 分数小于 1 - 一个最高分 - 一个最…

TOPIK韩语等级考试|韩语语法:被动词和使动词

韩语语法: 被动词与主动词 글쓰기 관련 강좌나 책에서 우리 문장을 쓸 때 웬만하면 피동형을 쓰지 말라는 주장을 흔히 접하게 된다. 능동형 동사를 사용하면 글이 늘어지지 않아 간결해지고 힘찬 문장이 되는 게 사실이다. 그러나 이 주장이 우리글에서 피동형 동…

IDEA自定义注释模版

1.类(接口/枚举等同理) 2.方法模版 先自定义一个模版组,然后在里面添加模版名,触发快捷键(Tab/Enter),模版描述,哪些语言中应用 模版中的自定义参数params和returns可以自动展开参数…

vue3.0学习笔记(五)——Vue3 状态管理 - Pinia

1. 什么是Pinia Pinia是Vue的最新状态管理工具,是Vuex的替代品。pinia官网:Pinia | The intuitive store for Vue.js 提供更加简单的API(去掉了mutation) 提供符合,组合式风格的API(和Vue3新语法统一&…

PhPMyadmin-漏洞复现

前情提要:首先将我们的PHP版本设置在5.5以上 一、通过⽇志⽂件拿Shell 1.搭建好环境后进行管理员登录 2.进入后点击SQL进行sql命令行操作 3.在输入框内输入set global general_logon; 将日志保存设置为开启状态 4.在输入 set global general_log_file 你要将日志…

未授权访问漏洞(非重点 中)

6.Hadoop 1.在 fofa 使用 port"8088" && app"Hadoop" 获取资源 2.打开后若无需登录,则存在漏洞 7.ActiveMQ 1.在 fofa 使用 body"ActiveMQ" && port"8161" 获取资源 2.打开后若点击登录,默认账户密码为 admin/adm…

无线领夹麦克风怎么挑选,2024年8月领夹麦挑选不踩雷攻略

在数字时代的浪潮中,每个人都可以成为自己故事的讲述者。从街头巷尾的Vlog达人,到专业演播室的主持人,再到远程教育的讲师,无线领夹麦克风正悄然改变着音频采集的方式。它不再局限于传统录音棚的束缚,而是融入了日常生…

C:指针学习(1)-学习笔记

目录 前言: 知识回顾: 1、const 1.1 const修饰普通变量 1.2 const修饰指针变量 1.3 总结: 2、指针运算 2.1 指针-整数 2.2 指针-指针 2.3 指针的关系运算 3、指针的使用 结语: 前言: 距离上一次更新关于初…

Java语言程序设计——篇十一(6)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

【Python_PySide6学习笔记(三十七)】清空QLayout中所有控件的方法

清空QLayout中所有控件的方法 清空QLayout中所有控件的方法前言正文1、takeAt()方法2、自定义f_clearLayoutFunc()方法3、setParent(None)方法 清空QLayout中所有控件的方法 前言 在 GUI 开发中,当我们使用 PySide6(或兼容的PyQt6)的 QVBox…

Sol盗u、sol链上的USDT盗窃:警惕恶意智能合约

随着区块链技术的普及,Solana链上的应用和用户数量不断增加。然而,这也为不法分子提供了可乘之机,恶意智能合约逐渐成为盗取USDT等加密资产的一种常见手段。本文将详细介绍恶意智能合约的工作原理,并提供防范措施,帮助…

【OpenCV C++20 学习笔记】Canny边缘检测

Canny边缘检测 原理步骤 API实例 原理 Canny边缘检测也称为“最优检测”(optimal detector),它的开发主要有以下3个目标: 低错误率:只检测真实存在的边缘良好的定位:检测出来的边缘与真实的边缘之间的距离要达到最小最小的反馈&…

报错Process exited with an error: 1 (Exit value: 1)

问题描述 运行springboot程序,程序报错 Process exited with an error: 1 (Exit value: 1)打开错误描述,发现是端口8080被占用(我们的端口号未必一致,改成你报错的端口) 问题分析 明确报错内容后,关闭…

SNAT、DNAT 防火墙规则

文章目录 一、SNAT原理与应用案列:1.给服务器和路由器(以liunx替代)做好准备工作(安装iptables和关闭firewalld防火墙)2.如果安装了iptables,设置80端口的访问为允许(liunx1:充当服务器)3.设置ens36网卡的地址为10.0.0.1(liunx2:充当路由器)4.修改liunx1服务器的ip地址和网关5.…

【Android Studio】图标一键生成 Image Asset Studio(一键各机型适配图标生成工具-告别一个一个替换)

文章目录 方法一:原始替换方法二:Image Asset Studio 方法一:原始替换 https://blog.csdn.net/xzzteach/article/details/140821856 方法二:Image Asset Studio 自动替换