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

Java八股文-Mysql

Mysql:

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

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

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

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

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.kler.cn/news/364333.html

相关文章:

  • LeetCode_509. 斐波那契数_java
  • ESP32移植Openharmony外设篇(3)OLED屏
  • Spring Boot集成:高效论坛网站的构建
  • NVR小程序接入平台/设备EasyNVR多个NVR同时管理的高效解决方案
  • 管理类联考 信息整理和经验分享
  • Ivanti云服务被攻击事件深度解析:安全策略构建与未来反思
  • VScode远程服务器之远程容器进行开发(四)
  • Axure大屏可视化模板:打造跨领域数据分析平台的原型设计案例
  • 【力扣】Go语言实现力扣115不同的子序列
  • RHCE【web服务器】
  • pytorh学习笔记——cifar10(七)inception网络
  • 【ANTs】医疗影像工具ANTs多种安装方式教程
  • LLM - 视觉分割开源算法 SAM2(Segment Anything Model 2) 配置与推理 (1)
  • Windows无法打开组策略 | Windows家庭版如何添加和打开组策略
  • JavaWeb开发全攻略:从零到精通,掌握核心技术与最佳实践,打造高性能Web应用!
  • 9月模拟手游下载量迎来激增,两款新游跻身全球下载榜前十!
  • 【有啥问啥】智能座舱中的ADDW认证是什么?
  • [蓝桥杯 2024 省 C] 回文数组
  • Go语言开发环境搭建
  • 《a16z : 2024 年加密货币现状报告》解析
  • 云计算与SaaS赋能的工业软件服务新形态
  • 第五十一章 安全元素的详细信息 - EncryptedKey 详情
  • 2-解决联想拯救者Y7000p在ubuntu20.04未找到wifi适配器,安装rtl8852ce网卡驱动问题
  • django报错问题Error 0x800B0109(CERT_E_UNTRUSTEDROOT)(已解决)
  • 政府办公人员常见的办公软件技能
  • Python作业