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

对于数据库查询索引和查字典索引的理解

之前面试问过我对于数据库索引的理解,这个问题不是具体的问题太宽泛,面试官也没进行引导,我不知道怎么回答,下面是结合查字典进行理解。

查字典

拿查字典举例,知道一个字怎么写但是不知道具体的意思以及发音,步骤如下

通过这个字包含的部首去字典里的部首目录匹配对应的部首

通过部首查询后面的检字表

这里包含部首的字,按照笔画数量来匹配对应的字

找到该字的具体页码查看具体的发音和意思

数据库查询

对应数据库sql查询来讲,先给要查询的数据表的对应查询字段建立非聚簇索引,如果多个字段可能需要建立联合索引

组织查询条件


确定where中的查询条件

非聚簇索引中匹配查询条件


查询条件经过数据库的解析,到对应的的非聚簇索引(通过b+树组织索引数据)中进行条件匹配,匹配的数据最终到叶子节点

聚簇索引中匹配最终的数据


最终通过叶子节点查询聚簇索引(通过b树组织索引数据)中的数据。

字典索引与数据库索引的对应关系

其中,部首对应sql查询条件,检字表对应非聚簇索引,页码对应聚簇索引。字典规定的页码排序是按照英文字母顺序,聚簇索引是按照主键的ascii顺序来进行。

如果知道要查的字的读音,可以顺着发音翻到对应的页码找到对应的字。对于数据库主键查询而言,通过主键可以直接通过聚簇索引匹配到唯一的数据,无需通过非聚簇索引进行条件匹配。

http://www.lryc.cn/news/108611.html

相关文章:

  • git删除已经提交的大文件
  • 【数据分析】pandas 一
  • 题解 | #G.Gcd# 2023牛客暑期多校6
  • 苍穹外卖day10——订单状态定时处理(Spring Task)、来单提醒和客户催单(WebSocket)
  • 【多线程初阶】多线程案例之单例模式
  • 跨境选品怎么选?建议独立站卖家收下这份利基产品查找攻略!
  • [C++项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍...
  • opencv-32 图像平滑处理-高斯滤波cv2.GaussianBlur()
  • Windows 环境Kubernetes安装
  • 自建类ChatGPT服务:本地化部署与远程访问教程
  • 常用SQL语句总结
  • arm交叉编译lmbench
  • ExtJs 7.7.0 下载方法与去除trial水印
  • Android11开发规划
  • 活动隔断在现在酒店运用的方式
  • Jenkins工具系列 —— 插件 钉钉发送消息
  • LeetCode 26 题:删除有序数组的重复项
  • 优雅地切换node版本(windows)
  • 反诈:吴明军、黄亮领导的WIN生活资金盘,大家警惕防范此类诈骗
  • shell、bash的关系及bash的特性(一)
  • 【问题随记】
  • Stable Diffusion AI绘画学习指南【常用模型,采样器介绍】
  • pycharm——漏斗图
  • RISC-V基础之浮点指令(包含实例)
  • 前端生成图片验证码怎么做?
  • 【Java】springboot框架 粮油质量溯源MES生产加工管理系统源码
  • macOS install redis遇到的bug(tar包,homebrew安装,守护进程redis.conf配置)
  • 面试题:创建JS对象的几种方式?构造函数是什么?new操作符具体干了什么?为什么字符串可以使用length?
  • LabVIEW深度相机与三维定位实战(下)
  • 【基础类】—CSS盒模型的全面认识