当前位置: 首页 > news >正文

数据库常见问题(持续更新)

数据库常见问题(持续更新)

1、数据库范式?

  • 1NF:不可分割
  • 2NF:没有非主属性对候选码存在部分依赖
  • 3NF:没有非主属性传递依赖候选码
  • BCNF:消除了主属性对对候选码的传递依赖或部分依赖

2、InnoDB事务的实现?

InnoDB 为Mysql数据库的默认引擎,InnoDB通过buffer poollog bufferredo logundo log来实现事务
以一个update语句为例:

  1. InnoDB在收到一个update语句后,会先根据条件找到数据所在页,并将该页缓存在Buffer Pool中;
  2. 执行update语句,修改Buffer Pool中的数据,也就是内存中的数据;
  3. 针对update语句生成一个redo log对象,并存入log buffer中;
  4. 针对update语句生成undo log日志,用于实现事务回滚;
  5. 如果事务提交,那么会把redo log对象进行持久化,会后将buffer pool中所修改的数据页持久化到磁盘中;
  6. 如果事务回滚,利用undo log进行回滚;

3、分页操作如何实现?

MySQL中使用limit关键字,举例:

select * from table_name where 条件 limit 当前页码*页面容量-1,页面容量

limit 初始位置,记录数

where 字段名 like 表达式

  • %:0或多个任意字符
  • _:任意单个字符
  • []:其中的任意一个值

4、B树和B+树?

B树的特点:

  1. 节点排序
  2. 一个节点可以存多个元素,这多个元素也是排好序的

B+树的特点:

  1. 拥有B树的所有特点
  2. 叶子之间存在指针
  3. 非叶子节点上的元素在叶子节点上冗余,且叶子节点排好序的

问题:InnoDB存储引擎采用B+树为索引的原因?

  • 相比于红黑树来说,B+树层级更少,搜索效率更高。
  • 相比于B树来说,B树无论是叶子结点还是非叶子结点都会保存数据,这样会导致一页存储的键值减少,存储大量数据时只能增加树的高度,导致性能降低。

相关文章:

数据库常见问题(持续更新)

数据库常见问题(持续更新) 1、数据库范式? 1NF:不可分割2NF:没有非主属性对候选码存在部分依赖3NF:没有非主属性传递依赖候选码BCNF:消除了主属性对对候选码的传递依赖或部分依赖 2、InnoDB事务的实现? …...

定个小目标之刷LeetCode热题(40)

94. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 直接上代码吧&#xff0c;中序遍历左根右 class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> res new ArrayList<Integer>(…...

Linux--线程(概念篇)

目录 1.背景知识 再谈地址空间&#xff1a; 关于页表&#xff08;32bit机器上&#xff09; 2.线程的概念和Linux中线程的实现 概念部分&#xff1a; 代码部分&#xff1a; 问题&#xff1a; 3.关于线程的有点与缺点 4.进程VS线程 1.背景知识 再谈地址空间&#xff1a…...

Mojo: 轻量级Perl框架的魔力

在Perl的丰富生态系统中&#xff0c;Mojolicious&#xff08;简称Mojo&#xff09;是一个轻量级的实时Web框架&#xff0c;以其极简的API和强大的功能而受到开发者的喜爱。Mojo不仅适用于构建高性能的Web应用&#xff0c;还可以用来编写简单的脚本和命令行工具。本文将带你探索…...

Python 游戏服务器架构优化

优化 Python 游戏服务器的架构涉及多个方面&#xff0c;包括性能、可伸缩性、并发处理和网络通信。下面是一些优化建议&#xff1a; 1、问题背景 在设计 Python 游戏服务器时&#xff0c;如何实现服务器的横向扩展&#xff0c;以利用多核处理器的资源&#xff0c;并确保服务器…...

13 学习总结:指针 · 其一

目录 一、内存和地址 &#xff08;一&#xff09;内存 &#xff08;二&#xff09;内存单元 &#xff08;三&#xff09;地址 &#xff08;四&#xff09;拓展&#xff1a;CPU与内存的联系 二、指针变量和地址 &#xff08;一&#xff09;创建变量的本质 &#xff08;二…...

golang 项目打包部署环境变量设置

最近将 golang 项目打包部署在不同环境&#xff0c;总结一下自己的心得体会&#xff0c;供大家参考。 1、首先要明确自己目标服务器的系统类型(例如 windows 或者Linux) &#xff0c;如果是Linux 还需要注意目标服务器的CPU架构(amd或者arm) 目标服务器的CPU架构可执行命令&…...

【Linux进程】进程优先级 Linux 2.6内核进程的调度

目录 前言 1. 进程优先级 2. 并发 3. Linux kernel 2.6 内核调度队列与调度原理 总结 前言 进程是资源分配的基本单位, 在OS中存在这很多的进程, 那么就必然存在着资源竞争的问题, 操作系统是如何进行资源分配的? 对于多个进程同时运行, 操作系统又是如何调度达到并发呢?…...

Linux中的粘滞位及mysql日期函数

只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写 权限. 为了解决这个不科学的问题, Linux引入了粘滞位的概念. 粘滞位 当一个目录被设置为"粘滞位"(用chmod t),则该目录下的文件只能由 一、超级管理员删除 二、该目录…...

BP神经网络的实践经验

目录 一、BP神经网络基础知识 1.BP神经网络 2.隐含层选取 3.激活函数 4.正向传递 5.反向传播 6.不拟合与过拟合 二、BP神经网络设计流程 1.数据处理 2.网络搭建 3.网络运行过程 三、BP神经网络优缺点与改进方案 1.BP神经网络的优缺点 2.改进方案 一、BP神经网络基…...

PCL 点云FPFH特征描述子

点云FPFH特征描述子 一、概述1.1 FPFH概念1.2 基本原理1.3 PFH和FPFH的区别二、代码实现三、结果示例一、概述 1.1 FPFH概念 快速点特征直方图(FPFH)描述子:计算 PFH 特征的效率其实是十分低的,这样的算法复杂度无法实现实时或接近实时的应用。因此,这篇文章将介绍 PFH 的简…...

基于golang的文章信息抓取

基于golang的文章信息抓取 学习golang爬虫&#xff0c;实现广度爬取&#xff0c;抓取特定的网页地址&#xff1a;测试站点新笔趣阁&#xff08;https://www.xsbiquge.com/&#xff09; 主要学习golang的goroutine和channel之间的协作&#xff0c;无限爬取站点小说的地址仅限书目…...

【手撕数据结构】卸甲时/空间复杂度

目录 前言时间复杂度概念⼤O的渐进表⽰法小试牛刀 空间复杂度 前言 要想知道什么是空/时间复杂度,就得知道什么是数据结构。 这得分两层来理解。我们生活中处处存在数据&#xff0c;什么抖音热点上的国际大事&#xff0c;什么懂的都懂的雍正卸甲等等一系列我们用户看得到的&a…...

消防认证-防火窗

一、消防认证 消防认证是指消防产品符合国家相关技术要求和标准&#xff0c;且通过了国家认证认可监督管理委员会审批&#xff0c;获得消防认证资质的认证机构颁发的证书&#xff0c;消防产品具有完好的防火功能&#xff0c;是住房和城乡建设领域验收的重要指标。 二、认证依据…...

C++进阶-二叉树进阶(二叉搜索树)

1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 1.若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值2.若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于…...

【Unity小知识】UnityEngine.UI程序集丢失的问题

问题表现 先来说一下问题的表现&#xff0c;今天在开发的时候工程突然出现了报错&#xff0c;编辑器提示UnityEngine.UI缺少程序集引用。 问题分析与解决&#xff08;一&#xff09; 既然是程序集缺失&#xff0c;我们首先查看一下工程项目是否引用了程序集。在项目引用中查找一…...

CentOS 离线安装部署 MySQL 8详细教程

1、简介 MySQL是一个流行的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它基于SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;进行操作。MySQL最初由瑞典的MySQL AB公司开发&#xff0c;后来被Sun Microsystems公司…...

云计算【第一阶段(28)】DNS域名解析服务

一、DNS解析的定义与作用 1.1、DNS解析的定义 DNS解析&#xff08;Domain Name System Resolution&#xff09;是互联网服务中的一个核心环节&#xff0c;它负责将用户容易记住的域名转换成网络设备能够识别和使用的IP地址。一般来讲域名比 IP 地址更加的有含义、也更容易记住…...

pygame 音乐粒子特效

代码 import pygame import numpy as np import pymunk from pymunk import Vec2d import random import librosa import pydub# 初始化pygame pygame.init()# 创建屏幕 screen pygame.display.set_mode((1920*2-10, 1080*2-10)) clock pygame.time.Clock()# 加载音乐文件 a…...

Leetcode 295.数据流的中位数

295.数据流的中位数 问题描述 中位数是有序整数列表中的中间值。如果列表的大小是偶数&#xff0c;则没有中间值&#xff0c;中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: Media…...

「码动四季·开源同行」go实战案例:如何在 Go 微服务中实现负载均衡?

在上文章中&#xff0c;我们已经介绍了负载均衡的相关概念以及在服务高可用架构中的重要性&#xff0c;也了解了几种主流负载均衡算法的实现。在本文中&#xff0c;我们将在Go微服务实例中具体使用负载均衡技术&#xff0c;并详细说明如何基于服务发现来实现负载均衡的微服务间…...

揭秘C++多态:动态行为的核心奥秘

C 多态&#xff1a;面向对象的动态行为核心机制多态性是面向对象编程&#xff08;OOP&#xff09;的核心概念之一&#xff0c;它允许对象在运行时根据其实际类型表现出不同的行为。在C中&#xff0c;多态性主要通过虚函数&#xff08;virtual functions&#xff09;和继承机制实…...

CVE-2024-36401复现

一.漏洞概述 CVE-2024-36401 是 GeoServer 中的一个严重级远程代码执行漏洞&#xff08;CVSS 9.8&#xff09;&#xff0c;允许未经身份验证的远程攻击者在服务器上执行任意代码。该漏洞源于 GeoServer 调用的 GeoTools 库 API 在评估 XPath 表达式时存在不安全处理&#xff0…...

5步攻克TradingAgents-CN本地化部署:从环境搭建到智能体协同

5步攻克TradingAgents-CN本地化部署&#xff1a;从环境搭建到智能体协同 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 一、问题定位&#xff1…...

3个突破限制步骤:res-downloader让网络资源获取变得无拘无束

3个突破限制步骤&#xff1a;res-downloader让网络资源获取变得无拘无束 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 在数…...

驱动残留清理技术解析:Display Driver Uninstaller实战指南

驱动残留清理技术解析&#xff1a;Display Driver Uninstaller实战指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninsta…...

为什么选择ODB++格式?Cadence与HyperLynx数据交换的最佳实践

为什么选择ODB格式&#xff1f;Cadence与HyperLynx数据交换的最佳实践 在高速PCB设计领域&#xff0c;数据格式的选择直接影响着设计到制造的整个流程效率。当工程师需要在Cadence Allegro和HyperLynx之间传递设计数据时&#xff0c;ODB正逐渐成为行业首选。这种智能数据格式不…...

springboot+vue基于web的演唱会音乐会购票管理系统设计系统

目录同行可拿货,招校园代理 ,本人源头供货商系统功能模块分析技术架构设计核心业务流程安全防护措施项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 系统功能模块分析 用户模块 注册登…...

解锁3大自由:5分钟掌握的音乐格式解放工具

解锁3大自由&#xff1a;5分钟掌握的音乐格式解放工具 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 在数字音乐时代&#xff0c;我们却常常面临这样的困境&#xff1a;下载的音乐被限制在特定播放器中&#xff0c;就像拥有一本精美…...

探索开源软件 FireGeo:地理空间数据处理的新选择

探索开源软件 FireGeo&#xff1a;地理空间数据处理的新选择 在地理空间数据处理的领域中&#xff0c;开源软件正以其独特的优势逐渐崭露头角&#xff0c;为众多专业人士和爱好者提供了丰富多样的工具。FireGeo 作为其中一款开源软件&#xff0c;正吸引着越来越多人的关注&…...