面试(数据库的索引结构)

一、目标

数据库索引是为了方便检索数据;提升查询效率;我们通过数据结构的设计,减少遍历磁盘的次数;不同的索引结构适用于不同的场景

二、常用的索引结构

2.1、B+树(B+Tree):

B+树是在B-树基础上的改进版本,也是最常用的索引结构之一。B+树相比于B-树,将所有的数据都存储在叶子节点中,而非内部节点,提高了磁盘IO的效率。B+树的叶子节点通过指针连接起来,形成一个有序链表,可以支持范围查询和顺序访问。

2.2、Hash索引(Hash Index)

Hash索引是一种基于哈希表的索引结构,它通过将关键字通过哈希函数映射到一个固定的位置,并在该位置上存储数据的指针。Hash索引适用于等值查询,具有快速的查找速度。但是,Hash索引不支持范围查询和顺序访问。

这些索引结构在数据库中起到了加快数据检索的作用,通过选择合适的索引结构和建立适当的索引,可以提高数据库的查询效率。不同的索引结构适用于不同的场景,开发者需要根据具体的需求选择合适的索引结构。

三、如果优化查询

3.1、建索适合的索引

最左适配原则

3.2、避免全表扫描

避免深度分页

3.3、避免无用字段返回

3.4、优化sql

综上所述,查询优化需要综合考虑数据库的结构、索引、查询语句的编写方式、无效数据、业务逻辑等多个方面,通过合理的优化手段可以提高查询的速度和性能。

相关推荐
W001hhh2 小时前
数据库实训Day004上午
数据库
funfan05173 小时前
【运维】MySQL数据库全量备份与恢复实战指南:从入门到精通
运维·数据库·mysql
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue在线音乐播放系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
零售ERP菜鸟3 小时前
当业务战略摇摆不定:在变化中锚定不变的IT架构之道
信息可视化·职场和发展·架构·创业创新·学习方法·业界资讯
tq10863 小时前
通用数据引用表示法:基于协议-URI-JSONPath的简洁数据定位规范
数据库
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
manuel_897573 小时前
六 系统安全
网络·数据库·系统安全
液态不合群4 小时前
【面试题】MySQL 三层 B+ 树能存多少数据?
java·数据库·mysql
我命由我123455 小时前
开发中的英语积累 P26:Recursive、Parser、Pair、Matrix、Inset、Appropriate
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
龙亘川5 小时前
【课程5.1】城管住建核心功能需求分析:市政设施、市容秩序等场景痛点拆解
数据库·oracle·智慧城市·城管住建