何时加索引,性别字段和逻辑删除字段应不应该加

news/2024/11/29 12:44:30/

首先哪些地方加索引(按照sql执行顺序写)
1、from表扫描连接处索引
2、where后条件去走索引
3、group by加索引
4、select查询不用加
5、order by排序加索引

(对于第四点,覆盖索引:查询的字段都被索引覆盖,可直接在索引中查询而不用回表,不过全加索引不太现实)

这是没有加索引的性别查询:
在这里插入图片描述

这是加了索引的性别查询:在这里插入图片描述
然后我们看下sex=1的条数:
在这里插入图片描述

第一个,索引有没有必要加看你的查询的索引选择性,当条数1000条,999条数据是不同的,索引选择性为999/1000,越接近1越有必要加索引。
第二点,索引选择性低的字段(性别和逻辑删除等字段有没有必要加索引)当你一千万数据中性别为0的只有三条,那么此时通过索引查询性别为0会快速找出这三条,如果经常要用到查询性别为0,少数用到1可以加,否则不要选择索引;例如逻辑删除字段,大都是情况都是查删除状态为0的数据,而状态为0的占绝大数,所以没必要加索引。


http://www.ppmy.cn/news/109651.html

相关文章

Kotlin笔记(一)常量与变量

文章目录 1、常量与变量定义NULL检查机制?. 判空辅助?: 判空辅助!! 非空断言 类型检测与类型转换is 类型检测as 类型转换 2、基本数据类型数字比较 类型转换 toDouble()位操作符字符数组字符串 String""" 字符串字面值${} 字符串模板 lateinit 延迟初始化by l…

linux条件变量知识点总结

与条件变量相关API 条件变量是线程另一可用的同步机制。条件变量给多个线程提供了一个会合的场所。条件变量与互斥量一起使用时,允许线程以无竞争的方式等待特定的条件发生。 条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量,其他线程…

高速缓存(cache)的原理: 了解计算机架构与性能优化

计基之存储器层次结构 Author: Once Day Date: 2023年5月9日 长路漫漫,而今才刚刚启程! 本内容收集整理于《深入理解计算机系统》一书。 参看文档: 捋一捋Cache - 知乎 (zhihu.com)iCache和dCache一致性 - 知乎 (zhihu.com)C…

使用SolidJS+SpringBoot写一个简单的个人博客

首发于Enaium的个人博客 前言 前端我们使用了SolidJS来进行开发,它是一个新出的前端框架,它的特点是使用React Hooks的方式来进行开发,并且它的API和React的API非常相似,所以如果你会React的话,那么你就会SolidJS. 后端我们使用了SpringBoot来进行开发,数据库我们使用了MySQL…

IMX6ULL裸机篇之I2C相关寄存器

一. I2C实验 I2C时钟选择与传输速率 1. IMX6ULL的 I2C频率标准模式 100kbit/S,快速模式为 400Kbit/S 2. 时钟源选择 perclk_clk_rootipg_clk_root66MHz(由之前的时钟实验章节可以知道是 66MHz)。 二. I2C 寄存器配置 I2Cx_IFDR寄存器&…

考研C语言第七章

7.2函数的声明定义,函数的分类和调用 1、函数声明要在main函数上面,这样main函数才可以进行调用 第一节课主要就学了函数的调用,项目在开发的时候分工用的比较多 主要结构: func.c里面进行函数的定义 不是很重要,进…

VUE3浅析---响应式

VUE3中setup语法糖解决响应式的方案,所有的只要被ref或者reactive包裹的变量,都会转变成响应式。而在VUE2中,要想做成响应式,必须将变量定义在data函数中。 文章目录 1、ref:将一个属性或者对象定义成ref对象&#xff…

C语言杂七杂八

fget函数的用法 fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中。 str 为字符数组,n 为要读取的字符数目,fp 为文件指针。 char *fgets(char *str, int n, FILE *stream) 返回值:读取成功时返回字符数组首地…