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

【MySQL详解】索引、事务、锁、日志

三大范式

  • 第一范式:数据库中表的字段都是不可分割的最小部分
  • 第二范式:在第一范式的基础上,所有非码属性都必须完全依赖于候选码
  • 第三范式:在第二范式的基础上,任何非主属性都不能直接或间接依赖于其他非主属性

什么是索引,有什么好处

索引可以类比成图书的目录,通过索引能够快速找到数据的位置,提高查询效率

索引的分类是什么

  • 按数据结构分:B+树索引,Hash索引,Full-text索引
  • 按物理存储分:聚簇索引,非聚簇索引
  • 按字段种类分:主键索引,唯一索引,普通索引,前缀索引
  • 按字段个数分:单列索引,联合索引

聚簇索引和非聚簇索引的区别是什么

  • 聚簇索引的叶子节点存放的是完整的实际数据,而非聚簇索引存放的是指向数据行的指针或者主键值
  • 聚簇索引有且只能有一个,而非聚簇索引可以有多个

B+树的特性是什么

  • 叶子节点都在同一层,确保了所有数据项的检索都有相同的IO延迟,叶子结点之间形成链表,有助于范围查询和按顺序访问
  • 叶子节点存放数据,非叶子节点只存放键值。相比于B树在数据量比较大的时候B+树的层数更少,IO次数更少。

B+树和B树的区别

  • B+树的非叶子结点只存放键值而B树还存放部分数据,因此B+树的非叶子结点可以存放更多的索引,因此B+树会更加矮
  • B+树的叶子节点通过链表相连,而B树没有相连,因此B+树能更好的进行范围查询和顺序访问。
  • B+树有更多的冗余结点,这些冗余结点可以使对B+树进行插入删除时更加方便

索引失效有哪些情况

  • 当我们使用左或者左右模糊匹配时,会发生索引失效
  • 当我们对索引使用函数时会失效
  • 当我们对索引进行表达式计算时会失效
  • 当我们将将字符串与数字进行比较时会自动调用函数进行转换,因此相当于使用了函数,索引会失效
  • 当我们没有遵循最左匹配原则时,索引会失效
  • 在WHERE子句中,如果在OR前的条件列是索引列,而在OR后的条件列不是索引列,那么索引会失效
http://www.xdnf.cn/news/19433.html

相关文章:

  • 【MySQL基础】MySQL核心操作全解析
  • GPT - 5 技术前瞻与开发者高效接入路径探索​
  • Java-113 深入浅出 MySQL 扩容全攻略:触发条件、迁移方案与性能优化
  • Java实现图像像素化
  • VirtualBox7.2安装步骤
  • RT-DETR网络结构
  • 开源 C# .net mvc 开发(九)websocket--服务器与客户端的实时通信
  • LangChain VectorStores核心:多向量数据库统一交互层与RAG存储中枢
  • 云原生新手入门完整学习指南
  • 14:00面试,15:00就出来了,问的问题过于变态了。。。
  • 【面试场景题】100M网络带宽能不能支撑QPS3000
  • UnderPressure 论文简单解读
  • 【Linux篇章】再续传输层协议UDP :从低可靠到极速传输的协议重生之路,揭秘无连接通信的二次进化密码!
  • 基于STM32的ESP8266连接华为云(MQTT协议)
  • 基于Flask的企业级产品信息管理系统技术实现笔记
  • 从 “能用” 到 “好用”:生成式 AI 落地三大核心痛点与破局路径
  • GPT-5 正式发布:把一个“博士团队”装进手机,AI 新时代开启
  • DevOps篇之通过GitLab CI 流水线实现k8s集群中helm应用发布
  • mysql深度分页
  • C语言:结构体
  • 暄桐:唯有认真思考过死亡,才足以应对日常
  • Android开发-设计规范
  • 【LLM】强化学习训练框架(slime、verl框架)
  • 【代码随想录day 21】 力扣 216.组合总和III
  • CD73.【C++ Dev】map和set练习题1(有效的括号、复杂链表的复制)
  • Docker中Mysql容器忽略大小写
  • C语言————深入理解指针1(通俗易懂)
  • Linux-搭建NFS服务器
  • 【PyTorch】基于YOLO的多目标检测(一)
  • 【CNB.COOL】智能花卉分类系统 – 部署指北