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

Mysql面试一

目录

一、事务的四大特性(ACID):

脏读

不可重复读

幻读

隔离性与隔离级别


数据库的三大范式

第一范式。确保数据表中的每个字段都是不可分割的最小单位,即原子性。这意味着表中的每一列都应代表一个独立的数据单元,不可再分为更小的部分。

在第一范式的基础上,第二范式要求表中的非主键列完全依赖于主键,而不是仅依赖于主键的部分。这有助于消除数据表中的部分依赖性,防止数据冗余。

第三范式。在第二范式的基础上,第三范式进一步要求非主键列之间不存在传递依赖。传递依赖是指一个非主键列依赖于另一个非主键列,而那个非主键列又依赖于主键。第三范式旨在确保每个非主键列都直接依赖于主键,避免间接依赖导致的冗余和数据不一致问题。

一、事务的四大特性(ACID):

1、A(原子性 Atomicity):

原子性是指事务必须是一个原子的操作,事务中包含的各项操作在一次执行过程中,要么都发生,要么都不发生

2、C(一致性 Consistency):

一个事务在执行之前和执行之后,数据库都必须处以一致性状态

3、I(隔离性 Isolation):

事务的隔离性是指在并发场景中,每个事务之间是互相隔离、互相独立的,一个事务的执行不能被其它事务干扰

4、D(持久性 Durability):

事务的持久性是指事务一旦提交后,数据库中的数据必须被永久的保存下来(写入磁盘)

mysq事务的隔离性

脏读

脏读指一个事务 读到 了另一个 未提交事务修改过的数据

不可重复读

在一个事务内多次读取同一个数据,如果出现前后两次读到的数据不一样的情况,就意味着发生了不可重复读」现象。

幻读

在一个事务内多次查询某个符合查询条件的 记录数量,如果出现前后两次查询到的记录数量不一样的情况,就意味着发生了 幻读 现象。

隔离性与隔离级别

读未提交(read uncommitted):一个事务还没提交时,它做的变更就能被别的事务看到。

读提交(read committed):一个事务提交之后,它做的变更才会被其他事务看到。 

可重复读(repeatable read):一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。这是MySQL InnoDB 引擎的默认隔离级别; 串行化(serializable ):对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【数据结构算法经典题目刨析(c语言)】使用栈实现队列(图文详解)
  • javaEE中自定义注解以及注解的解析
  • CSP部分模拟题题解
  • 探索sqlmap的奥秘:Python中的强大SQL注入检测工具
  • python实现K-means图像聚类
  • Kubernetes--命令行工具 kubectl
  • 参与团体标准的意义以及作用
  • 旋转图像(LeetCode)
  • docker 启动 mongo,redis,nacos.
  • 网络安全实训第三天(文件上传、SQL注入漏洞)
  • 用7EPhone云手机进行TikTok的矩阵运营
  • 自己对对抗性样本的实质的理解
  • 【深度学习】【语音】TTS, 如何使用Python分析WAV的采样率、比特深度、通道数
  • windows中electron,使用electron-builder构建时由于文件过大导致构建失败解决方案
  • 构建具有音频功能的中英翻译器:一个Python应用程序的旅程
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • CentOS 7 修改主机名
  • Git学习与使用心得(1)—— 初始化
  • Golang-长连接-状态推送
  • IDEA 插件开发入门教程
  • iOS 系统授权开发
  • Java到底能干嘛?
  • Java教程_软件开发基础
  • jquery cookie
  • JS变量作用域
  • php ci框架整合银盛支付
  • PHP CLI应用的调试原理
  • Promise初体验
  • Tornado学习笔记(1)
  • 闭包,sync使用细节
  • 聊聊sentinel的DegradeSlot
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何选择开源的机器学习框架?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 运行时添加log4j2的appender
  • 中文输入法与React文本输入框的问题与解决方案
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ###C语言程序设计-----C语言学习(3)#
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #QT 笔记一
  • #数据结构 笔记一
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (阿里云万网)-域名注册购买实名流程
  • (笔试题)分解质因式
  • (十六)视图变换 正交投影 透视投影
  • (转)ABI是什么
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net FrameWork简介,数组,枚举
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET实现之(自动更新)