MYSQL中的常见知识问题(一)

news2024/9/25 11:19:17

1、MYSQL中redolog、binlog 、undolog的区别与作用。

redolog:即重做日志,用来实现事物的一个持久性,由radiobuff和radiolog两部分组成。其中 radiobuff是一个缓冲,存放在内存里面;radiolog是文件,存放在磁盘里。这两个组成redolog以确保事物的持久性。
binlog:即归档日志,记录了ddl和dml语句,以事件的形式进行记录,主要用于数据复制操作。
undolog:即回滚日志,以记录数据被修改之前的信息,记录数据的一些逻辑变化,主要用于回滚之前的一些操作。

2、MYSQL中表锁、页面锁与行锁的作用及优缺点。

作用:表锁——1、用于更新表中大量数据。
2、事物涉及到很多张表,业务逻辑复杂,加表锁可以避免死锁情况。
行锁——用于并发处理的情况。
页面锁——介于表锁和行锁中间。
优点:表锁——开销小,加速比较快,不会出现死锁的情况。
行锁——锁定力度较小,发生锁冲突的概率就会低很多,并发能力较好。
页面锁——开销比行锁小,锁定力度比表锁小一点,并发能力和死锁情况介于表锁和行锁之间。
缺点:表锁——因为锁定力度比较大(整张表都锁定),发生锁冲突的概率较高,因此并发度最低。
行锁——开销比较大,加速慢,会出现死锁情况。
页面锁——会出现死锁。

3、MYSQL设计模式的原则。

开放封闭原则:通过扩展软件实体来解决一个需求的变化,而不是通过修改代码来完成变化。
里氏代换原则:可以在任何地方使用继承的子类(子类可以去扩展父类的功能,但不能改变父类原有的功能;子类可以去实现父类的抽象功能,但不能覆盖父类的非抽象功能)。
依赖倒转原则:面向接口编程应该依赖于抽象,而不是依赖于具体,耦合度高。
接口隔离原则:使用多个隔离的接口比使用单个接口好
迪米特法则:最少指导原则,一个类要尽可能减少对其他类之间的依赖(低耦合高内聚)。
单一职责原则:一个方法只负责一个事情

4、object类的常用方法。

clone():object——一个拷贝方法,实现了对对象的浅拷贝。
ps:只有实现了克隆接口,才能调用该方法;
finalize():void——判断对象是不是重写了该方法,以判断对象是否可回收。
equals(object):boolean——在object中子类需要重写该方法。
hashCode():int——主要用于hash查找,重写equals方法时一般需要重写该方法,用于一些具有hash功能的集合中,如hashmap、hashtable等。
wait(long,int):void——配合SQL使用,用于等待该对象的锁,此时处于睡眠状态。
notify():void——唤醒对象在等待队列中的某个线程。
notifyALL():void——唤醒在该对象上等待队列的所有线程。

5、MYSQL中SQL语句的执行过程。

步骤1:查询缓存,如果有缓存就返回结果,否则就进入到解析器。
步骤2:解析器解析完之后就进入到预处理器来对解析树进行预处理。
步骤3:进入到查询优化器,把处理的解析树转化为执行计划。
步骤4:查询执行引擎,通过接口调用存储引擎(MYISAM、InnoDB)的结果,将其返回,如果是可缓存的就会进行缓存。
ps:在MYSQL8的版本中就不能进行查询缓存。

6、MYSQL存储引擎中MYISAM和InnoDB的区别。

分别从存储结构、存储空间、可移植性、备份及恢复、文件格式、记录存储顺序、外键、事务、锁支持等方面进行说明(灰色字体为MYISAN,红色字体为InnoDB)。
1、每张表存放在3个文件(frm表格定义文件、MYD数据文件、MYI索引文件)。
所有的表都保存在同一个数据文件中,InnoDB大小只与操作系统文件大小有关,
一般为2GB.
2、MYISAM的存储空间可被压缩,存储空间较小。
InnoDB需要更多的内存和存储,会在主内存中建立专用的缓冲池用于高速缓冲数据和 索引。
3、MYISAM的数据以文件形式存储,跨平台数据转移更方便,在备份和恢复时可单独针对
某个表进行操作。
需要拷贝数据文件、备份binlog或者用mysqldump。
4、数据(MYD)和索引(MYI)是分别存储的。
数据和索引是集中存储的,.ldb。
5、按记录插入顺序保存。
按主键大小有序插入。
6、不支持外键和事务。
支持外键和事务
7、只支持表锁。
三种锁定方式都支持。
8、SELECT操作中MYISAM存储引擎更优。
INSERT、UPDATE、 DELETE操作InnoDB更优
9、select count(*)操作中MYISAM存储引擎更快,因为其内部维护了一个计数器,
可以直接调取。
10、MYISAM是堆表,通过B+树索引。
InnoDB是索引组织表,通过B+树索引。
11、不支持hash索引,但支持全文索引。
支持hash索引,但不支持全文索引。

7、创建索引的原则。

1、最左匹配原则
2、较频繁作为查询条件的字段才去创建索引
3、更新频繁字段不适合创建索引
4、区分度太低的不适合创建索引
5、尽量去扩展索引,不要新建索引。

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

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

相关文章

基于粒子群优化和引力搜索混合优化算法改进的前馈神经网络(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【3-神经网络八股】北京大学TensorFlow2.0

课程地址:【北京大学】Tensorflow2.0_哔哩哔哩_bilibiliPython3.7和TensorFlow2.1六讲:神经网络计算:神经网络的计算过程,搭建第一个神经网络模型神经网络优化:神经网络的优化方法,掌握学习率、激活函数、损…

走进 HTML

文章目录01 什么是HTML?02 HTML的基本结构03 网页基本标签04 图像标签05 链接标签06 块元素和行内元素07 列表07 表格08 视频和音频09 页面结构10 iframe内联框架11 表单语法👉 表单元素格式👉 表单的应用👉 表单初级验证01 什么是…

【Mysql】 数据库用户管理

【Mysql】 数据库用户管理 DCL:英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 1. 管理用户 想要对数据库用户进行操作,我们首先得进入 mysql 数据库 use mysql1.1 查询用户 select * from user;该条命…

每日一问-ChapGPT-20230122-关于春节习俗

文章目录每日一问-ChapGPT系列起因每日一问-ChapGPT-20230116-关于春节习俗世界有哪些国家过春节中国各个地区过春节都有哪些习俗台湾的春节习俗有哪些新加坡过春节有哪些习俗初一到初七的传统习俗有哪些在热闹的节日里,自己无法融入氛围,是什么原因不喜…

【MySQL】第六部分 单行函数

【MySQL】第六部分 单行函数 文章目录【MySQL】第六部分 单行函数6. 单行函数6.1 常用的函数6.2 角度与弧度转换函数6.3 三角函数6.4 指数与对数6.5 进制转换6.6 字符串函数6.7 日期时间函数6.7.1 获取时间和日期6.7.2 日期与时间戳的转换6.7.3 获取月份、星期、星期数、天数等…

筑基二层 —— 图解函数递归、数组详解

目录 一.修炼必备 二.图解递归的执行过程 三.数组 3.1 一维数组 3.2 二维数组 3.3 数组的共同问题 一.修炼必备 1.入门必备:VS2019社区版,下载地址:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (microsoft.com) 2.趁手武…

I.MX6ULL裸机开发笔记7:汇编点亮LED灯

一、vscode调整 加入汇编插件ARM vscode权限受限(因为Ubuntu中的文件有的是root权限创建的,vscode以普通用户打开的话没有操作权限)chmod 修改文件或者文件夹权限 二、编程步骤 使能GPIO时钟设置引脚复用位GPIO设置引脚属性(上下…

深入跨域问题(3) - 利用 JSONP 解决跨域

目录 1.简单例子: 2.基本实现 3.JSONP 与 CORS 的对比 什么是跨域,在这篇文章内部就不再讲述了,本文主要着重于实现 JSONP 。 script 标签: 根据同源策略的限制,在 端口,域名,协议 这三者 …

AX7A200教程(3): DDR3突发读写

上一个章节我们新建工程,然后进行基本的初始化操作,这个章节将在上个工程的基础上进行突发读写因ddr3读写部分控制信号比较多,所以ddr3读写控制模块比较复杂,本章节着重于一个256位数据的突发读写,ddr读写控制模块暂不…

【JavaWeb】前端开发三剑客之CSS(下)

✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaWeb】 ✈️✈️本篇内容:CSS的深度学习! 🚀🚀代码托管平台github:JavaWeb代码存放仓库! ⛵⛵作者…

(考研湖科大教书匠计算机网络)第二章物理层-第一、二节:物理层基本概念和传输媒体

文章目录一:物理层概念二:物理层传输媒体(1)导引型传输媒体A:同轴电缆B: 双绞线C:光纤①:光纤通信②:光纤D:电力线(2)非导引型传输媒体…

day22 多线程02

1.线程池 1.1 线程状态介绍 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程 状态被定义在了java.lang.Thread.State…

[ESP][驱动]ST7701S RGB屏幕驱动

ST7701SForESP ST7701S ESP系列驱动,基于ESP-IDF5.0,ESP32S3编写。 本库只负责SPI的配置,SPI设置屏幕两方面。由于RGB库和图形库的配置无法解耦,具体使用的RGB库,图形库需要自行配置添加。 SPI的指令,地…

操作系统真相还原_第5章第2节:内存分页机制

文章目录分段机制分页机制一级页表二级页表启用分页机制的过程启用分页机制(二级页表)详解程序include.incmbr.sloader.s写入硬盘启动bochs执行分段机制 分页机制 一级页表 二级页表 启用分页机制的过程 1、准备好页目录项及页表 2、将页表地址写入控制寄存器cr3 3、寄存器cr0…

【ArcGIS微课1000例】0059:三种底图影像调色技巧案例教程

三种调整影像底图效果的技术,让你的图纸清新脱俗,做出的图更美观! 文章目录 方法一:影像源类型调整方法二:符号拉伸类型设置方法三:影像分析模块设置方法一:影像源类型调整 这种方法是最基础、最简单的一种方法,可以调整的内容有限。当大家发现导入了影像,然后影像图…

Spring Batch 基本概念和运行示例

基本概念 Spring Batch是批处理框架。 作业(Job)是状态以及状态之间转换的集合。 作业里包含步骤(Spring Bean),每一个步骤解耦到独立的处理器中,并负责自己的数据,把所需的业务逻辑应用到数据上,然后把数…

【React】组件的创建与事件绑定

📘前言 🚩🚩🚩 💎个人主页: 阿选不出来 💨💨💨 💎个人简介: 一名大二在校生,学习方向前端,不定时更新自己学习道路上的一些笔记. 💨💨&#x1f4a…

C规范编辑笔记(十三)

往期文章: C规范编辑笔记(一) C规范编辑笔记(二) C规范编辑笔记(三) C规范编辑笔记(四) C规范编辑笔记(五) C规范编辑笔记(六) C规范编辑笔记(七) C规范编辑笔记(八) C规范编辑笔记(九) C规则编辑笔记(十) C规范编辑笔记(十一) C规范编辑笔记(十二) 正文&#xff…

CSS背景:背景色/背景图像/背景重复/背景附着/简写背景属性(一文搞懂)

目录 CSS背景 CSS 背景色 实例 其他元素 实例 不透明度 / 透明度 实例 使用 RGBA 的透明度 实例 CSS 背景图像 实例 实例 实例 CSS 背景重复 实例 实例 CSS background-repeat: no-repeat 实例 CSS background-position 实例 CSS 背景附着 实例 实例 C…