MySQL数据库的简单的面试题
1、MySQL有哪些锁机制
MySQL有以下几种机制:
行级锁:行极锁在mysql 中最常用的锁机制,它只针对表的某一行进行加锁不受影响。MySQL的行级锁分为共享锁和排他锁两种类型,共享锁和排它锁不能同时存在于一行。
表级锁:表级锁是对整张表进行加锁,可以在需要对表进行全局操作的时候使用MySQL中表级锁分为读锁和写锁两种类型,读锁和写锁不能同时存在于一张表
元数据锁:元数据锁是MySQL表中一种特殊的锁机制,它用于保护数据的一致性和完整性。元数据锁可以保证对数据库进行数据结构更改的时候其他用户无法对该表的进行访问,修改或操作
间隙锁:间隙锁是MySQL中一种特殊的锁机制,它用于在事务中保护索引的键值,间隙锁的作用 是保证索引值的唯一性和一致性。
记录锁:记录锁是MySQL的一种特殊的锁机制,它用于保护行锁定的行,防止事务对该行进行修改或者删除
自增锁:当使用自增列作为逐渐的时候MySQL会自动对这个自增行进行加锁,以保证每次插入数据的时候自增的唯一性
临时表锁:当使用临时表时MySQL会自动对这个自增列进行加锁,以保证临时表的唯一性
注意:
不同锁机制对性能的影响也是不同的,选择合适的锁机制可以提升数据库的性能和并发处理能力同时也需要根据具体业务场景和需求来选择合适的锁机制,避免锁竞争和死锁等问题
2、描述myism和innodb 的区别
Myism:采用表级锁对myism表度不会阻塞读,但是会阻塞同表的写,对于myism写则会阻塞读和写。即一个线程获得一个表的写锁后,只有持有线程可以对表更新操作,其他线程的读写都进行等待
索引和数据是放在一起的
innodb 采用行级锁,支持事务,例如只对a列索引,如果update … where a=1 and b=2 其实也会整个表,select使用共享锁,update insert delete 采用排他锁,commit 会把锁职消当然select by id for update 也可以定制排他
索引和数据是分开的
3、MySQL中有哪种存储方式
innodb(b+树):支持ACID事务的存储的引擎,提供行级锁和MVVC(对版本并发控制)等高级特性被广泛地应用在大型的web应用中
myism(b树):不支持 处理事务和行级锁但是因为其简单快速小巧,而被广泛使用默认的表锁机制为表级锁
memory(哈希表):将数据保存到内存中,因此读取数据速度非常快,但是存储的容量有限不支持ACID事务
**csv(紧凑型数据块)**支持csv数据文件,常用于从其他人软件或数据库中导入数据
Archive(逗号分割符来存储的):csv格式,类似于zip的压缩格式,常用于从其他软件或数据库中导入数据.
在初始版mysql默认中默认使用的myism存储引擎,因为他的性能比较优秀,可以快速的读取大量数据,但是他不支持事务处理和行级锁,所以在高并发应用中可能出现严重的安全性问题
在MySQL5.5版本之后的数据库可是默认使用数据innodb存储引擎吗,支持事务所和行级锁
个人整理的一小部分,如有错误请在评论区提出
相关文章:
MySQL数据库的简单的面试题
1、MySQL有哪些锁机制 MySQL有以下几种机制: 行级锁:行极锁在mysql 中最常用的锁机制,它只针对表的某一行进行加锁不受影响。MySQL的行级锁分为共享锁和排他锁两种类型,共享锁和排它锁不能同时存在于一行。 表级锁:表…...
hbuilderx打包应用上传到app store构建版本的教程
简介: 将ipa上架app store的过程中,发现需要将打包的ipa文件上传到app store的构建版本里,但是苹果官方推荐的上传工具,只有xcode和transporter等工具,这些工具是不能安装在windows电脑的。那么有没有windows电脑的上传…...
第五届泰迪杯数据分析技能赛B题源码图片分享
需要B题源码以及第六届带队”指导“请私信本人,团队包含技能赛双一等,数学建模省一,泰迪杯挖掘国一,研究生队友。 去年一等作品可视化图如下,私信获取源码...
【小白专用】VSCode下载和安装与配置PHP开发环境(详细版) 23.11.08
1. 下载VSCode2. 解决VSCode下载速度特别慢3. 安装VSCode 一、VSCode介绍 VSCode 是一款由微软开发且跨平台的免费源代码编辑器;该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。 二、官方下载地址…...
Qlik Sense : Fetching data with Qlik Web Connectors
目录 Connecting to data sources Opening a connector Connecting to a data source Authenticating the connector Defining table parameters Using standard mode or legacy mode Standard mode Connector overview Using multi-line input parameters to fetch da…...
聊一聊 tcp/ip 在.NET故障分析的重要性
一:背景 1. 讲故事 这段时间分析了几个和网络故障有关的.NET程序之后,真的越来越体会到计算机基础课的重要,比如 计算机网络 课,如果没有对 tcpip协议 的深刻理解,解决这些问题真的很难,因为你只能在高层做…...
利用梯度上升可视化卷积核:基于torch实现
利用梯度上升可视化卷积核 文章目录 前言基本原理版本和包结果展示 简单绘图修改源码绘图方法一 方法二(推荐) 报错解决总结 前言 基于梯度上升的可视化是一种常用的技术,用于理解卷积神经网络(CNN)中的卷积核是如何对…...
python+playwright 学习-85 启动参数 proxy 设置代理几种方式
前言 在使用playwright执行代码的时候,如需设置代理,可以在启动的时候加proxy 参数设置代理。 本篇总结下可以加proxy代理的几种方式。 launch 启动全局代理 launch 启动的时候设置全局代理,以下是示例 from playwright.sync_api import Playwright, sync_playwrightwit…...
Clion 搭建Qt projects
Qt projects Qt is a cross-platform C framework for creating GUI applications. Qt uses its own build system, qmake, and also supports building with CMake starting from the version Qt4. Qt是一款创建桌面程序的跨平台的C框架。qmake是Qt自有的构建系统࿰…...
合肥工业大学数据库实验报告
✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验课设 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少…...
设计模式-装饰器模式(Decorator)
设计模式-装饰器模式(Decorator) 一、装饰器模式概述1.1 什么是装饰器模式1.2 简单实现装饰器模式1.3 使用装饰器模式的注意事项 二、装饰器模式的用途三、装饰器模式的实现方式3.1 通过接口和抽象类实现3.2 通过Java反射实现3.3 通过使用第三方库实现 一…...
Java 数据结构篇-实现双链表的核心API
🔥博客主页: 小扳_-CSDN博客 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 双链表的说明 1.1 双链表 - 创建 1.2 双链表 - 根据索引查找节点 1.3 双链表 - 根据索引插入节点 1.4 双链表 - 头插节点 1.5 双链表 - 尾插 1.6 双链表 - 根据索引来…...
电脑如何截屏?一起来揭晓答案!
在数字时代,截屏已经成为我们日常生活和工作中的必备技能。无论是为了捕捉有趣的网络瞬间,保存重要信息,还是为了协作和教育,电脑截屏都是一个强大而方便的工具。本文将介绍三种电脑如何截屏的方法,以满足各种需求&…...
【实战-08】flink 消费kafka自定义序列化
目的 让从kafka消费出来的数据,直接就转换成我们的对象 mvn pom <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information …...
深入浅出 Django 异步编程
随着 Web 应用对性能的要求日益提高,异步编程成为了提升响应速度、提高系统吞吐量的重要手段。Django 作为一个成熟的 Python Web 框架,自 3.1 版本开始支持了异步编程。在本文中,我们将探讨 Django 异步编程的关键概念,并提供实际…...
力扣 138. 随机链表的复制
文章目录 1.解题思路2.代码实现 1.解题思路 在原先链表的每一个元素后面插入一个与前一个相同val的值的结点,然后由于是在原链表进行的操作,因此找每个random就变得很方便直接访问即可,此题目的精髓是cur1->randomp->random->next,看懂这串代码…...
STM32外部中断大问题
问题:一直进入中断,没有触发信号,也一直进入。 描述:开PA0为外部中断,刚刚很好,一个触发信号一个中断,中断函数没有丢,也没有抢跑,开PA1为外部中断也是,都很好…...
FPGA配置采集AR0135工业相机,提供2套工程源码和技术支持
目录 1、前言免责声明 2、AR0135工业相机简介3、我这里已有的 FPGA 图像处理解决方案4、设计思路框架AR0135配置和采集图像缓存视频输出 5、vivado工程1–>Kintex7开发板工程6、vivado工程1–>Zynq7100开发板工程7、上板调试验证8、福利:工程代码的获取 1、前…...
KubeSphere v3.4.0 部署K8S Docker + Prometheus + grafana
KubeSphere v3.4.0 部署K8S 1、整体思路2、修改linux主机名3、 离线安装3.1 问题列表3.2 执行命令成功列表 1、整体思路 将KubeSphere v3.4.0 安装包传输到其中一台机器修改Linux主机名(选取3台,修改为master01、master02、master03)安装官方…...
Codeforces Round 908 (Div. 2)题解
目录 A. Secret Sport 题目分析: B. Two Out of Three 题目分析: C. Anonymous Informant 题目分析: A. Secret Sport 题目分析: A,B一共打n场比赛,输入一个字符串由A和‘B’组成代表A赢或者B赢(无平局),因为题目说明这个人…...
Python与scikit-learn构建自动化机器学习流水线实战
1. 项目概述:用Python和scikit-learn构建自动化机器学习流水线在数据科学项目中,最耗时的往往不是模型训练本身,而是数据预处理、特征工程和模型评估这些重复性工作。三年前我接手一个金融风控项目时,曾因为手动处理这些环节浪费了…...
QT5升级QT6踩坑记:qmake构建QML项目,资源管理方式大变样(附完整配置流程)
QT5到QT6迁移实战:qmake构建QML项目的资源管理重构指南 当开发者将一个QT5的QML项目迁移到QT6环境时,最常遇到的"拦路虎"莫过于资源管理机制的变更。许多开发者反馈,原本在QT5下运行良好的项目,在QT6中突然出现图片无法…...
重磅!国家发改委叫停META收购MANUS,20亿美元交易被按下“终止键“
2026年4月27日,一纸禁令震动全球科技圈。国家发改委外商投资安全审查工作机制办公室正式发布决定:依法禁止美国科技巨头Meta收购通用AI智能体Manus项目,要求当事人立即撤销该收购交易。这不仅是一桩20亿美元跨国并购的戛然而止,更…...
C++(标签派发 Tag Dispatching)
一、什么是标签派发?🎯 核心概念标签派发(Tag Dispatching) 是C中一种编译期多态技术,它利用空结构体标签和函数重载,在编译时根据类型特征选择最优的实现路径。📊 为什么需要标签派发ÿ…...
使用 Nodejs 和 Taotoken 为你的应用后端添加智能对话功能
使用 Nodejs 和 Taotoken 为你的应用后端添加智能对话功能 1. 准备工作 在开始集成 Taotoken 之前,需要确保你的开发环境已经具备以下条件。首先,确保 Node.js 版本在 16 或更高,这是大多数现代 JavaScript 特性的最低要求。其次࿰…...
高光谱成像基础(二)光谱角映射 SAM
智能体时代的代码范式转移与 C# 的战略转型 传统的 C# 开发模式,即所谓的“工程导向型”开发,要求开发者创建一个复杂的项目结构,包括项目文件(.csproj)、解决方案文件(.sln)、属性设置以及依赖…...
GaussDB索引管理避坑指南:为什么你建的索引没生效?查看与清理技巧
GaussDB索引管理避坑指南:为什么你建的索引没生效?查看与清理技巧 在数据库优化领域,索引就像图书馆的目录系统——设计得当能快速定位数据,但若使用不当反而会成为性能负担。许多GaussDB用户都有过这样的困惑:明明按照…...
BOM智能解析+一键报价,告别人工算价与跨部门内耗
在制造业数字化转型进程中,报价环节长期是制约企业响应速度与成本管控的关键卡点。尤其对 Java 技术栈支撑的制造企业而言,业务、技术、采购、核算等部门数据割裂、流程分散,人工算价不仅耗时耗力,还易出现错漏,直接影…...
抖音批量下载器:如何用开源工具解决内容收集的三大痛点
抖音批量下载器:如何用开源工具解决内容收集的三大痛点 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…...
基于Notion与Next.js构建现代化静态博客:零运维、高性能的CMS解决方案
1. 项目概述:一个基于Notion的现代化博客系统 如果你和我一样,既想拥有一个设计精美、功能现代的独立博客,又不想被繁琐的服务器运维、数据库管理和复杂的发布流程所困扰,那么 tangly1024/NotionNext 这个项目绝对值得你花时间…...
