索引失效的介绍和避免方法

news2024/11/23 3:42:57

索引是什么

        在关系数据库 中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种 存储结构 ,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

索引失效

        索引失效(Index Degradation或Index Inefficiency)是指在数据库查询过程中,虽然相关表上有可用的索引,但由于多种原因,数据库未能有效地利用这些索引来加速查询过程,而是选择全表扫描或者其他效率较低的检索方式。

如何避免索引失效(高薪常问)

(1) 范围条件查询

(2) 不要在索引上使用函数运算, 否则索引也会失效.

比如在索引上使用切割函数, 就会使索引失效.

(3) 字符串不加引号, 造成索引失效.

(4) 尽量使用索引覆盖, 避免 select *, 这样能提高查询效率.

如果索引列完全包含查询列, 那么查询的时候把要查的列写出来, 不使用 select *

通俗讲:

索引覆盖: 通过索引就能找到你要的资料信息

回表:通过索引不能完全拿出你要的信息,需要通过数据表再次查询一次才能获取到.

explain select age,name,id,tel  from tb where age=22 and  name ='张三'

SQL

(5) or 关键字连接

用 or 分割开的条件, 如果 or 前面的列有索引, or 后面的列没有索引, 那么查询的时候前后索引都会失效

索引失效案例:

如果一定要 or 查用询, 可以考虑下 or 连接的条件列都加索引, 这样就不会失效了.

6, 使用 !=

7. like '%张'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1511043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

​《宏伟世纪》在 TheSandbox 中带来虚拟苏丹体验!

《宏伟世纪》(Magnificent Century)与 The Sandbox 合作,将戏剧带入数字领域!这部土耳其历史小说电视连续剧以苏丹苏莱曼大帝和许蕾姆苏丹的生平为原型,曾在 140 多个国家和地区播出,收视率超过 5 亿&#…

交换机STP工作原理

文章目录 一、确定交换机角色二、确定端口角色1.根端口选举2.指定端口选举3.非指定端口选举 三、确定端口状态常用查询命令实验拓扑实例一拓扑实例二拓扑实例三拓扑实例四拓扑图实例五 BPDU报文中携带的Root Identifier、Root Path Cost、Bridge Identifier、Port Identifier字…

13年老鸟整理,性能测试技术知识体系总结,从零开始打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 从个人的实践经验…

新质生产力浪潮下,RPA如何成为助力先锋?

新质生产力浪潮下,RPA如何成为助力先锋? 在数字化、智能化的今天,“新质生产力”一词越来越频繁地出现在我们的视野中。那么,究竟什么是新质生产力?它与我们又有什么关系?更重要的是,在这一浪潮…

2024年,10大产业趋势:创新驱动下的全面转型与发展

本趋势指南深入探讨塑造企业创新未来的力量,以及为什么企业必须改变创新方式。指南概述了创新未来的愿景,其中人类智慧和AI技术在创新中相结合,相互补充和放大,这将是一个全新范围的端到端创新平台,旨在将各个点连接起…

用chatgpt写论文重复率高吗?如何降低重复率?

ChatGPT写的论文重复率很低 ChatGPT写作是基于已有的语料库和文献进行训练的,因此在写作过程中会不可避免地引用或借鉴已有的研究成果和观点。同时,由于ChatGPT的表述方式和写作风格与人类存在一定的差异,也可能会导致论文与其他文章相似度高…

Python中Matplotlib保存图像时去除边框(坐标轴、白色边框、透明边框)方法

直接说解决方法: plt.savefig(‘image3.png’,bbox_inches‘tight’,pad_inches0) (三行搞定) import numpy as np import matplotlib.pyplot as pltimg np.random.randn(10,10)figplt.imshow(img) plt.axis(off) plt.savefig(image3.png,b…

面试题02.07.链表相交

方法一:暴力 public ListNode getIntersectionNode(ListNode headA, ListNode headB) {//先获得链表长度ListNode l1 headA;ListNode l2 headB;int m 0, n 0;while(l1 ! null){m;l1 l1.next;}while(l2 ! null){n;l2 l2.next;}ListNode l3 headA;for(int i …

YOLOv5_seg-Openvino和ONNXRuntime推理【CPU】

纯检测系列: YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列: YOLOv5/6/7-O…

Ableton Live 12 Suite:音乐创作的全能工作站 mac版

在数字音乐制作的领域中,Ableton Live 11 Suite 无疑是引领潮流的旗舰产品。作为一款综合性的音乐制作和演出软件,它提供了从创作灵感的萌芽到最终作品完成的全方位解决方案。 Ableton Live 12 Suite Mac版软件获取 Ableton Live 11 Suite 凭借其强大的…

革命性创新:聚道云软件连接器如何为企业重塑财务管理流程?

一、客户介绍 某科技股份有限公司是一家专注于高性能存储技术领域的创新型科技公司。自公司成立以来,该公司始终秉持创新发展的理念,致力于为客户提供卓越的存储解决方案,以满足不同行业对数据存储的需求。作为业界的佼佼者,该公…

47、C++/引用,函数重载,类相关学习20240312

一、自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height), 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show()。 代码&…

系统及其分类

系统定义 系统:指若干相互关联的事物组合而成的具有特定功能的整体。 系统的基本作用:对输入信号进行加工和处理,将其转换为所需要的输出信号。 系统分类 系统的分类错综复杂,主要考虑其数学模型的差异来划分不同类型。主要分为…

【干货详解】接口测试和功能测试有什么区别

本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之间的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分&#xff1…

jquery-viewer(Viewer.js)—— 一个 jQuery 图片展示插件

用法&#xff1a; <link href"/path/to/viewer.css" rel"stylesheet"> <script src"/path/to/viewer.js"></script>new Viewer(element[, options]) 【element&#xff1a; HTMLElement类型&#xff0c;可以是img元素或包含…

蓝桥杯 - 大石头的搬运工 C++ 前缀和 算法 附Java python

题目 思路和解题方法 这段代码的目标是计算给定点集的最小总移动成本&#xff0c;使得所有点都在同一直线上。它通过计算每个点左边和右边的移动成本&#xff0c;然后在所有可能的分割点中选择最小成本。具体步骤如下&#xff1a; 读取输入的点集&#xff0c;每个点表示为 (y, …

C/C++ 树中王牌:红黑树的结构及实现

一、红黑树的定义 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍&#xff…

2024大广赛Canva可画都有哪些命题?

大广赛官网在3月8日发布了2024年Canva可画的命题&#xff0c;Canva可画是全球领先的视觉传播平台&#xff0c;2013年诞生于悉尼&#xff0c;2018年进入中国市场。秉承“赋予世界设计的力量”的使命&#xff0c;Canva可画为用户提供零门槛的设计编辑工具(网页端/App/小程序)&…

element-plus 完成下拉切换功能

项目场景&#xff1a; element-plus element-plus 完成下拉切换功能&#xff0c;选用了popover 组件去进行样式修改&#xff0c;本来大概是要实现下面这样的样式效果&#xff0c;没想到调整的时候&#xff0c;这个选择的高亮模块总是超出。 实现效果&#xff1a; 解决方案&am…

Linux/Cap

Enumeration nmap 第一次扫描发现系统对外开放了21&#xff0c;22&#xff0c;80端口&#xff0c;端口详细信息如下 除了22的ssh服务&#xff0c;80的http服务&#xff0c;还开了21端口&#xff0c;运行着ftp服务&#xff0c;从nmap给出的结果可以看到并没有启用匿名登录设置…