数据库----1

一、MVCC多版本并发控制

MVCC,多版本并发控制是现代数据库引擎中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。(可以用来解决可重复读的问题)

二、数据库ACID实现原理

MYSQL通过支持ACID原理来保证事务的可靠性和一致性。
****原子性(Atomicity):即不可分割性,事务要么全部被执行,要么就全部不被执行。
****一致性(Consistency):事务的执行使得数据库从一种一致性状态转移到另一种一致性状态。
****隔离性(Isolation):事务在正确提交之前,不允许把该事务对数据的任何改变提供给其他任何事务。
****持久性(Durability):事务正确提交后,其结果将永久保存在数据库中,即使在数据提交后有了其他故障,事务的处理结果也会得到保存。

三、索引失效的场景

1.查询条件有or
2.like查询是以%开头
3.索引列上参与计算会导致索引失效
4.违背最左匹配原则
5.如果mysql估计全表扫描比使用索引要快,会不使用索引

四、索引

1.索引有哪些类型?
索引是帮助MYSQL高效获取数据的数据结构。
(1)普通索引:最基本的索引,没有任何限制
(2)唯一索引:与普通索引类似,不同的是索引列的值必须唯一,但是允许有空值
(3)主键索引:一种特殊的唯一索引,用于唯一标识数据表中的某一条记录,不允许有空值
(4)联合索引:多个字段上建立的索引,能够加速复合查询条件的检索
(5)全文索引:搜索数据表中字段是不是包含我们搜索的关键字,像搜索引擎中的模糊查询

五、MYSQL中为什么采用B+树?

B+树在MYSQL中具有多个优势。
首先,B+树的有序性可以提高查询范围的性能;
其次,B+树的叶子节点形成了一个有序链表,可以支持顺序遍历和范围查询;
此外,B+树内部节点不存数据,减少了存储空间的开销,同时还可以提高内存利用率;
B+树的平衡性可以保证查询的稳定和一致性,避免数据不平衡导致的性能问题。

六、B树和B+树的比较

1.B树一个节点存的是数据,B+树存储的是索引;所以B树一个节点的存储量有限,而B+树能存储很多地址;
2.B+树的叶子节点是数据阶段,用一个链表串联起来,便于范围查询。
此外,相比其他索引,如哈希索引,B+树在支持范围查询和顺序遍历方面更高效;哈希索引只能支持等值查询,而无法支持范围查询。

七、MYSQL支持的索引类型

B-Tree索引、哈希索引、空间索引、全文索引
B-Tree索引:大部分索引支持B+树索引
Hash索引:只有memory引擎支持,使用场景简单
空间索引:MyISAM支持,可以用作地理数据存储,空间索引会从所有维度来索引数据
全文索引:特殊的索引类型,查找本文关键词

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

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

相关文章

【二进制部署k8s-1.29.4】九、cilium1.15.4安装

文章目录 简介 一.安装helm和cilium 客户端命令二.安装cilium2.1.安装cilium对于系统内核的版本的要求2.2.安装的命令及参数如下:参数注释: 三.确认cilium的安装状态四.访问cilium的监控页面hubble-ui 简介 本章节主要讲解k8s集群网络插件cni的安装&…

mysql GROUP BY 语句报错处理

1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘test.test_baobiao.qty’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_full_group_by, Time: 0.00000…

react-native运行程序 出现 Application XXX is waiting for the debugger

1.重启adb: adb kill-server、 adb start-server. 2、确定USB调试模式是否开启,如果已经开启了,关闭了重新打开一下 3.选择调试模式并关闭等待调试程序

kaggle竞赛实战7——其他方案之lightgbm

本文换种方案,用wrapperlightgbm建模TPE调优 接下来是特征筛选过程,此处先择使用Wrapper方法进行特征筛选,通过带入全部数据训练一个LightGBM模型,然后通过观察特征重要性,选取最重要的300个特征。当然,为…

4.00002 Postgresql的内存管理-一条sql执行过程中的内存上下文是怎么样的?

文章目录 调试前动作调试步骤总结一条sql的内存上下文复杂查询简单查询调试前动作 1、后台启动postgresql -D x 2、使用客户端登录psql,且执行\d+ 3、此时查看进程 ps ux [db_postg@iZ2ze5nkcqlxobs6vm854iZ ~]$ ps ux USER PID %CPU %MEM VSZ RSS TTY STA…

PTA 7-4 按层遍历二叉树

用先序和中序序列构造一棵二叉树(树中结点个数不超过10个),通过用队记录结点访问次序的方法实现对二叉树进行按层遍历,即按层数由小到大、同层由左到右输出按层遍历序列。 输入格式: 第一行输入元素个数 第二行输入先序序列&am…

撸广告小游戏开发app源码搭建

开发一个基于观看广告赚钱的小游戏App,源码搭建的过程会涉及到多个方面,包括游戏设计、广告集成、用户奖励机制、后端服务搭建等。以下是一个大致的开发流程和考虑点: 游戏设计与规划 确定游戏类型:选择适合观看广告赚钱的游戏类…

STM32(十):SPI (标准库函数)

前言 上一篇文章已经介绍了如何用STM32单片机中USART通信协议来串口通信,并向XCOM串口助手发送信息。这篇文章我们来介绍一下如何用STM32单片机中SPI接口来实现LED的闪亮并玩转WS2812B灯带。 一、实验原理 串行通信之前的博客里有所介绍,可以查看以下…

Web Components与框架集成:Vue React案例分析

一直以来,都梦想着打造一个完全自定义、可复用且跨框架的UI组件库,让我的项目开发变得更加高效。在一次偶然的机会下,我接触到了Web Components,一种原生的Web API,它允许我们创建自定义的HTML标签,实现组件…

【Qt】styleSheet设置

1. ui中设置 #toolButton1{color: rgb(190, 192, 193); background-color:#404142; border:0px solid #2E2E2E;padding-top: 15px } #toolButton1::hover{background-color:rgb(94,95,96); } #toolButton1::checked{color:black; background-color:#f0f0f0; border:0px soli…

2024.6.2力扣刷题记录

目录 一、力扣每日一题-575. 分糖果 模拟 二、100307. 候诊室中的最少椅子数 模拟 三、100311. 无需开会的工作日 1.差分(超内存) 2.合并数组 一、力扣每日一题-575. 分糖果 模拟 class Solution:def distributeCandies(self, candyType: List[i…

Docker面试整理-Docker与虚拟机的区别是什么?

Docker 容器和传统的虚拟机(VM)都是提供隔离的运行环境以部署和运行应用程序的技术,但它们在架构和性能上存在显著的不同。了解这些差异可以帮助你选择最适合特定需求的解决方案: 基础架构:虚拟机:每个虚拟机都包括完整的操作系统、应用程序、必需的库和二进制文件,运行在…

故障预警 vs 故障分类:哪个更有意义,哪个更具挑战性?

故障预警 vs 故障分类:哪个更有意义,哪个更具挑战性? 在现代工业系统中,风力发电机、制造设备等关键装置的可靠性和稳定性对生产效率至关重要。为此,故障预警和故障分类成为保障设备正常运行的重要手段。那么&#xf…

UI案例——登陆系统

UI的登陆界面实例 在学习了UILabel,UIButton,UIView,UITextField的内容之后,我们就可以写一个简单的登陆界面 我们可以通过UILabel来编写我们显示在登陆界面上的文字比方说下面这两行字就是通过UILabel去实现的。 下面给出一下实现…

每日5题Day17 - LeetCode 81 - 85

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:81. 搜索旋转排序数组 II - 力扣(LeetCode) class Solution {public boolean search(int[] nums, int target) {int n nums.length;if (n…

【MySQL】MySQL 图形化界面 - 使用说明(MySQL Workbench)

一、安装软件 Navicat,SQLyog 这些软件都不错,不过都需要收费,当然也有破解版。下面用 MySQL Workbench,它是官方提供的工具。 二、使用操作 这个软件本质是一个客户端,现在要让数据库能够远程登录。不过一般不会远程…

Love-Yi情侣网站3.0存在SQL注入漏洞

目录 1. 前言 2. 网站简介 3. 寻找特征点 3.1 第一次尝试 3.2 第二次尝试 4.资产搜索 5.漏洞复现 5.1 寻找漏洞点 5.2 进行进一步测试 5.2.1 手动测试 1.寻找字段 2.寻找回显位 3.查询当前用户 5.2.2 sqlmap去跑 6.总结 1. 前言 朋友说自己建了一个情侣网站,看到…

Golang省市二级联动实现 从数据收集、清洗到数据存储

1.背景: 最近在写项目,在项目中有一个需求是获取用户的地理位置,一开始是打算让前端使用JSON包的形式去实现,但是考虑到后期可能需要对省市的数据做一些修改和控制操作,所以改为后端实现,并向后台暴露一套…

密码加密及验证

目录 为什么需要加密? 密码算法分类 对称密码算法 非对称密码算法 摘要算法 DigestUtils MD5在线解密工具原理 实现用户密码加密 代码实现 为什么需要加密? 在MySQL数据库中,我们常常需要对用户密码、身份证号、手机号码等敏感信息进…

【数据结构】树与二叉树——树的基本概念

树的基本概念 导读一、树的定义二、树的基本术语2.1 结点之间的关系2.2 基本概念2.3 度为m的树与m叉树 三、树的性质结语 导读 大家好,很高兴又和大家见面啦!!! 从今天开始,我们将进入第五章的内容——树与二叉树的学…