Java八股文-Mysql

server/2024/10/25 5:19:41/

Mysql:

1.Mysql数据库索引的类型有哪些?

  • 普通索引
  • 唯一索引
  • 主键索引
  • 全文索引
  • 组合索引

2.主键索引,唯一索引区别:

唯一索引列允许空值,而主键列不允许空值
(MySQL 允许在唯一索引列中包含多个 NULL 值,因为 NULL 被视为不同的值。)

mysql_11">3.mysql索引是不是越多越好?

Mysql索引不是越多越好,索引可以提高查询性能,但它们也会占用更多的存储空间,并且在插入、更新和删除数据时会增加额外的开销,因为索引也需要被更新。过多的索引可能导致性能问题,因为数据库需要更多的时间来维护这些索引。
原因:https://blog.csdn.net/yrc1314/article/details/143219772?spm=1001.2014.3001.5501

4.索引失效场景?

  • 违反最左前缀法则
  • 范围查询右边的列,不能使用索引
  • 不要在索引列上进行运算操作, 索引将失效
  • 字符串不加单引号,造成索引失效。(类型转换)
  • 以%开头的Like模糊查询,索引失效

5.数据库的引擎?

  • InnoDB(默认):支持事务管理,行级锁
  • MyISAM:不支持事务管理,表级锁
  • BDB
  • Memory
  • Merge

6.回表知道吗,怎么避免回表查询?

  • 通过列字段查询,找到id,再通过主键索引找整行数据;
  • 使用覆盖索引;避免使用select * 查询;
  • 使用缓存数据库
  • 数据库的隔离级别
    • 读未提交
    • 读已提交
    • 可重复读
    • 串行化
  • Mysql的快照读和当前度
    • 快照读:是指事务在读取数据时,读取的是该事务开始时数据的快照(Snapshot)。也就是说,事务在开始时会记录当前数据库的状态,并在整个事务期间保持一致。
    • 当前读:是指事务在读取数据时,读取的是数据库的最新数据(即当前状态)。当前读会受到其他事务的修改影响。

7.SQL语句调优?

  • SELECT语句务必指明字段名称(避免直接使用select * )
  • SQL语句要避免造成索引失效的写法
  • 尽量用union all代替union union会多一次过滤,效率低
  • 避免在where子句中对字段进行表达式操作
  • Join优化 能用innerjoin 就不用left join right join,如必须使用 一定要以小表为驱动,
    • 内连接会对两个表进行优化,优先把小表放到外边,把大表放到里边。left join 或 right join,不会重新调整顺序

8.Mysql的MVCC?

MVCC是 MySQL 中用于实现高并发事务处理的一种机制。它允许多个事务在同一时间对同一数据进行读写操作,而不会相互干扰,从而提高数据库的并发性能。


http://www.ppmy.cn/server/134615.html

相关文章

python-PyQt项目实战案例:制作一个视频播放器

文章目录 1. 关键问题描述2. 通过OpenCV读取视频/打开摄像头抓取视频3. 通过PyQt 中的 QTimer定时器实现视频播放4. PyQt 视频播放器实现代码参考文献 1. 关键问题描述 在前面的文章中已经分享了pyqt制作图像处理工具的文章,也知道pyqt通过使用label控件显示图像的…

RK3588开发笔记-麦克风阵列多pdm通道合并成一个声卡

目录 前言 一、RK3588音频架构概述 二、PDM简介 PDM基本原理 PDM的工作流程 PDM接口信号 三、原理图连接 四、设备树配置 五、设备调试 总结 前言 在音频设备的开发中,特别是在多通道音频数据处理场景中,如何将多个PDM(Pulse Density Modulation)通道整合成一个声卡…

DDD和DSSA

DDD(Domain-Driven Design)和DSSA(Domain-Specific Software Architecture)是两种与软件设计和架构相关的方法论。它们各自有不同的焦点和应用场景。下面是对它们的简要介绍和比较: 1. DDD(Domain-Driven Design) 定义:DDD是一种软件设计理念,旨在通过深刻理解业务领…

HTTP 请求的请求体是什么

HTTP 请求的请求体(request body)是指在 HTTP 请求中除了请求行(request line)、请求头(headers)之外的实际数据部分。请求体通常包含用于向服务器发送数据的信息,这些信息可以是表单数据、JSON 对象、XML 文档或其他任何形式的数据。 http请求一般包含的内容 HTTP(超…

【C++】——list 容器的解析与极致实现

人的一切痛苦,本质上都是对自己的无能的愤怒。 —— 王小波 目录 1、list 介绍 2、list的使用 2.1 list 的构造 2.2 iterator 的使用 2.3 list 的修改 2.4一些特殊接口 2.5 迭代器失效问题 3、实现list 3.1底层结构 结点类 list类 迭代器类 3.2功能接…

钡铼技术R40B多协议转换助力智慧工厂自动化

随着工业4.0的迅猛发展,智慧工厂已成为制造业转型升级的重要目标。在这一背景下,数据的高效采集、处理与传输至关重要。钡铼技术推出的R40B多协议转换器,凭借其强大的功能与灵活的应用场景,为智慧工厂的自动化提供了有力支持。 R…

【动态规划】【路径问题】下降路经最小和、最小路径和、地下城游戏

4. 下降路径最小和 931. 下降路径最小和 算法原理 确定状态表示 dp[i][j] 表示:到达 [i, j] 位置,最小的下降路径 状态转移方程 dp[i][j] 从 [i-1, j-1] 到达 [i, j] > dp[i-1][j-1] m[i][j]从 [i-1, j] 到达 [i, j] > dp[i-1][j] m[i][j]从 …

【Flutter】基础入门:项目结构

Flutter 是一款用于开发跨平台应用的优秀框架。通过一次编写代码,Flutter 可以将应用部署到 Android、iOS、Web、Windows、Linux 和 macOS 等多个平台。作为 Flutter 开发者,理解 Flutter 项目的目录结构和配置是至关重要的,能够帮助你快速构…