IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数据库—索引失效 -> 正文阅读

[数据结构与算法]数据库—索引失效

联合索引的失效问题分析

结合上面的索引的B+树结构,下面罗列了几种常见场景:

//以a结尾的在B+树结构中并不是有序的,无法使用索引
select * from test_user where a like '%1';
//以a开头的在B+树结构中是有序的,可以使用索引
select * from test_user where a like '1%';
//无法使用索引
select * from test_user where a like '%1%';

//下面两种情况因为都用到了覆盖索引,此时直接遍历索引树
select a from test_user where a like '%1';
select a from test_user where a like '%1%';
//a有序,可以使用索引
select a from test_user where a like '1%';

//最左匹配法则
//因为a是有序的,并且当a=1是b也是有序的,所以这里可以使用联合索引
select * from test_user where a = '1' and b = '2';
//a是有序的,但是当a>1时,b是无序的,所以a可以使用索引,b无法使用索引,虽然这里无法使用联合索引,但是这里会可以使用索引下推,减少回表的次数
select * from test_user where a > '1' and b = '2';
//b是无序的,所以无法使用索引
select * from test_user where b = '2';


//a是有序的,所以a可以使用索引
select * from test_user where a = '1' or a = '2';
//a是有序的,但是当a=1时,b时无序的,无法使用索引
select * from test_user where a = '1' or b = '2';

B站有小伙伴指出,索引可以看作沿着索引树进行的二分查找,所以不能进行二分查找(即不是顺序的)的情况都是索引失效。

参考

演示B+树等常见数据结构的网站:

Data Structure Visualization

【吊打面试官】MySQL索引失效的底层原理,终于有人讲清楚了_哔哩哔哩_bilibili

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:01:27  更:2022-04-22 19:05:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:38:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码