mysql知识学习

0 mysql的隔离级别有4个,读未提交, 读已提交(rc), 可重复读(rr),串行化,mysql默认的隔离级别时rr

1聚簇索引就是主键索引, 可以一步到位i的索引

   非聚簇索引就是要通过二次查找, 实际存放的是索引和数据的地址, 后面还要同通过数据地址找到数据。

2mysql的binlog记录有3种模式, statement, row, mixed

statement就是记录sql语句的原文, 例如update T set a=now() ,这样在主从复制的时候,就会导致数据的不一致。

row这种记录模式就是记录具体执行的值, 比如sql 执行update T set a=now() 实际会转换为 update T set a=1987499333 这种具体的值,但是有个缺陷,row模式会把批量操作转换为单行,这样比较占用空间。

为了解决上面的2个2问题于是就有了mixd混合模式,自动识别sql是那种类型采用那种模式。

3.mysql的二段性提交。

在执行sql更新时会记录redolog和binlog二个日志, redolog时在事务执行过程中不断写入。而binlog只有在提交事务时才会写入。写入时机不一样,写完redolog后,binlog的写入发生异常时就会导致数据不一致问题。于是就有了mysql的二段性提交。

二段性提交就是mysql会把redolog的写入拆成prepare 和commit  mysql在刚开始写入redolog的时候把redolog设置为准备阶段, 在事务提交后, 写入binlog成功后,再把redolog设置commit阶段,这样写入binlog发生异常也不会影响,mysql根据redolog恢复数据时,发现redolog还处于prepare阶段就会回滚事务。

4.mvcc mysql每次执行事务都会形成一条记录,下次事务执行会把roll_rc 指向上一个事务形成一个版本链,只在rc和rr的隔离级别下有效, 默认rc每一次查询就会建一个新的readView, rr只有第一次查询才会建一个readview,后面的查询都用第一次的readview所以叫可重复读

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

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

相关文章

Golang - http请求InsecureSkipVerify 字段为 true 来忽略忽略 SSL验证

在Golang中,可以通过设置 tls.Config 的 InsecureSkipVerify 字段为 true 来忽略 SSL 验证。 下面是一个简单的示例代码: package mainimport ("crypto/tls""fmt""net/http" )func main() {// 创建一个自定义的 Transp…

矩阵式键盘按键值的数码管显示实验

#include<reg51.h> //包含51单片机寄存器定义的头文件 sbit P14P1^4; //将P14位定义为P1.4引脚 sbit P15P1^5; //将P15位定义为P1.5引脚 sbit P16P1^6; //将P16位定义为P1.6引脚 sbit P17P1^7; //将P17位定义为P1.7引脚 unsigned char code Tab[ ]…

CTF-PWN-栈溢出-高级ROP-【SROP】

文章目录 linux信息处理2017 360春秋杯 smallest检查源码思路第一次要执行ret时的栈执行write函数时修改rsp到泄露的栈地址上去 输入/bin/sh并sigreturn调用系统调用回忆exp注意一个离离原上谱的地方 参考链接 SROP(Sigreturn Oriented Programming) 于 2014 年被 Vrije Univer…

简单多状态dp问题(打家劫舍Ⅱ)

通过分类谈论&#xff0c;将环形的问题&#xff0c;转化成两个线性的 “ 打家劫舍Ⅰ ” 1.状态表示 2.状态转移方程 3.初始化 f[ 0 ] nums[ 0 ] g[ 0 ] 0 4.填表顺序 从左往右填表&#xff0c;两个表一块填 5.返回值 max( f[ n-1 ] , g [ n - 1 ] )

【Bug】Android BottomNavigationView 图标黑色色块问题

最近在研究Android Jetpack组件&#xff0c;在使用Navigation配合底部导航栏时&#xff0c;发现一个奇怪的问题&#xff0c;如下&#xff1a; 说明&#xff1a;图标来源于Iconfont开源图标库 我的第三个图标变成了一个黑色色块&#xff0c;这个问题前两天我遇见过&#xff0c…

.NetCore部署微服务(一)

目录 前言 什么是微服务 微服务的优势 微服务的原则 创建项目 在Docker中运行服务 客户端调用 简单的集群服务 前言 写这篇文章旨在用最简单的代码阐述一下微服务 什么是微服务 微服务描述了从单独可部署的服务构建分布式应用程序的体系结构流程&#xff0c;同时这些…

C# 使用Microsoft消息队列(MSMQ)

写在前面 Microsoft Message Queuing (MSMQ) 是在多个不同的应用之间实现相互通信的一种异步传输模式&#xff0c;相互通信的应用可以分布于同一台机器上&#xff0c;也可以分布于相连的网络空间中的任一位置。 使用消息队列可以实现异步通讯&#xff0c;无需关心接收端是否在…

海康威视摄像头+服务器+录像机配置校园围墙安全侦测区域入侵侦测+越界侦测.docx

一、适用场景 1、校园内&#xff0c;防止课外时间翻越围墙到校外、从校外翻越围墙到校内&#xff1b; 2、通过服务器摄像头的侦测功能及时抓图保存&#xff0c;为不安全因素提供数字化依据&#xff1b; 3、网络录像机保存监控视频&#xff0c;服务器保存抓拍到的入侵与越界&am…

UI自动化Selenium iframe切换多层嵌套

IFRAME是HTML标签&#xff0c;作用是文档中的文档&#xff0c;或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。 简单来说&#xff0c;就像房子内的一个个房间一样&#xff1b;你要去房间里拿东西&#xff0c;就得先开门&#xff1b; 如上图…

指针大礼包5

三、程序改错 共10题 &#xff08;共计100分&#xff09; 第1题 &#xff08;10.0分&#xff09; 题号:72 难度:中 第8章 /*------------------------------------------------------- 【程序改错】 ---------------------------------------------…

出现 No such instance field: ‘XXXX‘ 的解决方法

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 作为一个全栈的开发玩家,需要调试前后端的数据传输,方便发现问题所在! 在debug整个项目的时候,检查传输数据的时候,发现前端可以传输,但是后端一直拿不到 出现如下问题:No such instance field: parentModel 截图…

UI5与后端的文件交互(四)

文章目录 前言一、后端开发1. 新建管理模板表格2. 新建Function&#xff0c;动态创建文档 二、修改UI5项目1.Table里添加下载证明列2. 实现onClickDown事件 三、测试四、附 前言 这系列文章详细记录在Fiori应用中如何在前端和后端之间使用文件进行交互。 这篇的主要内容有&…

Leetcode的AC指南 —— 字符串/卡码网:55. 右旋字符串

摘要&#xff1a; Leetcode的AC指南 —— 字符串/卡码网&#xff1a;55. 右旋字符串。题目介绍&#xff1a;字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k&#xff0c;请编写一个函数&#xff0c;将字符串中的后面 k 个字…

灸哥问答:数据结构对软件开发的作用

在软件开发的浩瀚海洋中&#xff0c;数据结构如同一座坚固的灯塔&#xff0c;为开发者指明方向&#xff0c;确保他们在构建复杂系统时不会迷失。数据结构不仅仅是编程的基础&#xff0c;更是高效、稳定、可扩展软件的核心。 一、提升算法效率 数据结构与算法紧密相连&#xf…

Java实战项目三:图书借阅系统

文章目录 一、实战概述二、知识点概览&#xff08;一&#xff09;数据库操作及连接&#xff08;二&#xff09;对象关系映射&#xff08;ORM&#xff09;&#xff08;三&#xff09;业务逻辑处理 三、思路分析&#xff08;一&#xff09;系统架构设计&#xff08;二&#xff09…

antd——a-date-picker——日期的限制功能——js基础积累

antd——a-date-picker——日期的限制功能——js基础积累 禁用日期一、限制只能选明天及之后的日期&#xff08;今天不可选中&#xff09;二、限制只能选今天及之后的日期&#xff08;今天可选中&#xff09;三、限制只能选昨天及之前的日期&#xff08;今天不可选中&#xff0…

Java业务功能并发问题处理

业务场景&#xff1a; 笔者负责的功能需要调用其他系统的进行审批&#xff0c;而接口的调用过程耗时有点长&#xff08;可能长达10秒&#xff09;&#xff0c;一个订单能被多个人提交审批&#xff0c;当订单已提交后会更改为审批中&#xff0c;不能再次审批&#xff08;下游系…

05-微服务-RabbitMQ-概述

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;需要实时响应。 异步通讯&#xff1a;就像发邮件&#xff0c;不需要马上回复。 两种方式各有优劣&#xff0c;打电话可以立即得到响应&am…

canvas设置文字阴影

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

实现JavaScript中的数组排序功能

一、引言 在JavaScript中&#xff0c;数组是一种常用的数据结构&#xff0c;而排序是处理数组的常见任务。对于JavaScript中的数组排序&#xff0c;我们可以通过多种方式来实现。本篇博客将详细介绍如何使用JavaScript实现数组排序功能&#xff0c;并分享一些感悟。 二、实现…