什么情况下,不推荐建立索引?

在这里插入图片描述

一般有以下几种情况不推荐建立索引:

1)对于数据量很小的表

  • 当表的数据量很小(如几百条记录)时,建立索引并不会显著提高查询性能,反而可能增加管理的复杂性;

2)频繁更新的表

  • 对于频繁进行插入、更新和删除操作的表,索引会导致额外的维护开销,因为每次数据变更时都需要更新索引,这会影响性能;

3)执行大量的 SELECT

  • 此时二级索引可能不会显著提升性能,因为需要大量的回表查询,开销大,数据库最终可能会选择走全表扫描;

4)低选择性字段(高度重复值的列)

  • 当索引字段的取值重复度高(如性别字段“男”、“女”),索引的效果不明显,且会增加存储空间的浪费;
  • 但是,还有一种场景可以考虑,比如表里任务 status 列就 2 个类型,90 % 都是 1(已完成),10%(待执行) 是 2,这个场景会频繁查询 2(待执行)的任务来执行,此时可以建立索引,毕竟能过滤 90 % 的数据;

5)低频查询的列

  • 对于查询频率极低的字段,建立索引的成本和维护负担可能超过带来的性能提升;

6)长文本字段(非常长的 varchar 或 JSON、BLOB 和 TEXT 类型,这些类型的列通常包含大量数据)

  • 数据量大排序时都无法用内存排,只能利用磁盘文件,排序很慢;
  • 数据量大,每个页能存放的行数就少,扫描查询可能会涉及大量的 I/O;
  • 文本字段过大都需要额外 blob 页存储,每次查询还需要查额外的页,也是随机 I/O 效率低;
  • 这种类型的数据如果有查询需求,不应该放到 MySQL 中,可以需要采用 es 等组件来实现查询。

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

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

相关文章

GitHub上传自己的项目

目录 一、安装Git插件 1)下载 2)安装 二、创建Gothub的创库 三、通过Git上传本地文件到Github 四、其他 1、部分指令 2、如果已经运行过git init并设置了[user],下次可以直接用 一、安装Git插件 1)下载 下载地址&#x…

你需要了解的Android主题相关知识

在 Android 开发中,主题(Theme)是用于定义应用的视觉风格的一组样式集合。主题决定了应用的配色、字体样式、控件外观等,是整个应用的一致性视觉体验的重要组成部分。以下是对 Android 主题的全面介绍,包括主题的基础概…

寻找符合要求的最长子串

题目描述 给定一个字符串 s s s ,找出这样一个子串: 1)该子串中的任意一个字符最多出现2次; 2)该子串不包含指定某个字符; 请你找出满足该条件的最长子串的长度。 输入描述: 第一行为要求…

【Linux 从基础到进阶】 灾难恢复自动化工具与脚本

灾难恢复自动化工具与脚本 在现代企业中,自动化工具和脚本在灾难恢复(Disaster Recovery, DR)中扮演着至关重要的角色。它们不仅提高了恢复过程的效率和准确性,还减少了人为错误的风险。本文将介绍一些常用的灾难恢复自动化工具及…

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用,用户可以设置倒计时时间并开始计时。当倒计时结束时,应用会显示提醒。该项目涉及时间控制、状态管理和用户交互,是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

重装系统后,把Anaconda从硬盘恢复方法(亲测可用)

1.首先保证安装目录文件完整 2.添加系统环境变量 E:\anaconda E:\anaconda\Scripts E:\anaconda\Library\bin E:\anaconda\Library\mingw-w643然后进入安装目录打开cmd命令窗口,输入一下如下命令 python .\Lib\_nsis.py mkmenus4.如果需要cuda恢复,只…

Linux动态库和静态库

1,手动制作静态库 1,如何形成静态库文件 做库时,头文件(.h)必须暴露,源文件(.c)必须隐藏。 操作:将需要形成库的文件编译成.o文件: 然后用指令:ar -rc libmy_stdio.a my_stdio.o my_string.o…

java基础之 String\StringBuffer\ StringBuilder

文章目录 String字符串的创建为什么说String是不可变的?创建后的字符串存储在哪里?字符串的拼接String类的常用方法 StringBuilder & StringBuffer使用方法验证StringBuffer和StringBuilder的线程安全问题 总结三者区别什么情况下用运算符进行字符串…

【计网不挂科】计算机网络期末考试中常见【选择题&填空题&判断题&简述题】题库(3)

前言 大家好吖,欢迎来到 YY 滴计算机网络 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的计算机网络题目,供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏!…

告别繁琐统计,一键掌握微信数据

微信数据管理的挑战在数字时代,微信已成为我们日常沟通和商业活动的重要工具。然而,随着微信号数量的增加,手动统计每个账号的数据变得越来越繁琐。从好友数量到会话记录,再到转账和红包,每一项都需要耗费大量的时间和…

Oracle分区技术特性

Oracle 的分区是一种“分而治之”的技术,通过将大表、索引分成可以独立管理的、小的 Segment,从而避免了对每个对象作为一个大的、单独的 Segment 进行管理,为海量数据访问提供了可伸缩的性能。自从 Oracle 引入分区技术以来,Orac…

ArkTS常用数据处理:掌握核心技能与实践

在HarmonyOS应用开发中,ArkTS作为主要的开发语言,其数据处理能力是构建高效应用的关键。本文将详细介绍ArkTS中的常用数据处理方法,包括基本数据类型、数组、枚举、对象和XML解析与生成等,以及它们在实际开发中的应用和最佳实践。…

bert-base-chinese模型使用教程

向量编码和向量相似度展示 import torch from transformers import BertTokenizer, BertModel import numpy as npmodel_name "C:/Users/Administrator.DESKTOP-TPJL4TC/.cache/modelscope/hub/tiansz/bert-base-chinese"sentences [春眠不觉晓, 大梦谁先觉, 浓睡…

HTML+CSS科技感时钟(附源码!!!)

预览效果 源码(直接复制使用) <!DOCTYPE html> <html lang"zh-Hans"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>科技感时钟</…

Docker配置国内源加速

Docker配置国内源加速 添加配置文件/etc/docker/daemon.json, 内容如下&#xff1a; {"registry-mirrors": ["https://6kx4zyno.mirror.aliyuncs.com"] }本人使用的是阿里云服务器&#xff0c;所以配了个阿里云的 使配置生效 systemctl daemon-reload …

论文精读系列

​ ViT (Vision Transformer) 『论文精读』Vision Transformer(VIT)论文解读 ​

深入理解 ZooKeeper:分布式协调服务的核心与应用

一、引言 随着互联网技术的飞速发展&#xff0c;分布式系统的规模和复杂性不断增加。在分布式环境中&#xff0c;各个节点之间需要进行高效的协调和通信&#xff0c;以确保系统的正常运行。ZooKeeper 正是为了解决分布式系统中的协调问题而诞生的一款开源软件。它提供了一种简单…

PyQt5实战——UTF-8编码器功能的实现(六)

个人博客&#xff1a;苏三有春的博客 系类往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt5实战——多脚本集合包&#xff0c;程序…

‌MySQL中‌between and的基本用法‌

文章目录 一、between and语法二、使用示例2.1、between and数值查询2.2、between and时间范围查询2.3、not between and示例 BETWEEN AND操作符可以用于数值、日期等类型的字段&#xff0c;包括边界值。 一、between and语法 MySQL中的BETWEEN AND操作符用于在两个值之间选择…

微服务系列一:基础拆分实践

目录 前言 一、认识微服务 1.1 单体架构 VS 微服务架构 1.2 微服务的集大成者&#xff1a;SpringCloud 1.3 微服务拆分原则 1.4 微服务拆分方式 二、微服务拆分入门步骤 &#xff1a;以拆分商品模块为例 三、服务注册订阅与远程调用&#xff1a;以拆分购物车为例 3.1 …