?一、原因:

-?非聚簇索引存储了对主键的引用,如果?select?字段不在非聚簇索引内,就需要跳到主键索引。

-?如果非聚簇索引值重复率高,那么查询时就会大量出现上图中从右边跳到左边的情况,导致整个流程很慢

原因就是上面的。

数据库中聚集索引只有一个,默认主键。其他用户创建的索引都是非聚集索引。

非聚集索引存储了对主键的引用,即通过索引确定叶子节点之后,还需要再次根据主键去查询数据。(所以会查询两次)

如果非聚集索引重复率高(即一个同样的值有多个主键),那么首先你会从索引中取一半主键值,然后根据主键值再去查询数据,增加了IO,所以特别耗时。

大概就是上面的原因。

?二、聚集索引和非聚集索引

?2.1?区别:

主要可以参考高性能MySQL。这里简单总结一下

-?聚集索引把索引和数据存在了一起。

??可以这么理解,聚集索引的叶子节点存储的是数据的指针(或者是数据本身)。具体暂时不确定,后续了解之后再确定。

-?非聚集索引(也叫二级索引)的叶子节点存储的是主键值(或叫做聚集索引值)

?2.2?查询次数

非聚集索引需要两次查找,先从非聚集索引中找到主键值,然后再去聚集索引中找到具体数据。

聚集索引只需要查找本身。

?2.3?为什么不适合在枚举少的字段上建立索引?

如果聚集索引唯一,那么条件只会确定几条值的主键,然后去聚集索引中查询还可以。

如果聚集索引重复,那么条件会确定近乎一般或者1/3或者1/5的主键值,然后再一个一个去聚集索引中查询,就会引起问题。

?2.4?如果没有索引,数据库是怎么查询的?

全表扫描。

如果索引可以减少全表扫描,那么索引有效。如果索引导致了比全表扫描更糟糕的结果,那么还不如全表扫描。

??三、参考

mysql 重复率高字段 索引,为什么重复值高的字段不能建索引(+聚集索引和非聚集索引)...相关推荐

  1. 2篇word文档比较重复率_论文深耕 | 论文重复率太高怎么办?7个降重技巧收好了!...

    Hello! 这是你与「大学生科研竞赛」的第 25 次相遇. 不知道从什么时候开始,我们的网络社区被各种关于论文降重.论文查重.论文改重的知识所包围.相信每个上了大学的朋友或多或少都会接触到这方面的内 ...

  2. 2篇word文档比较重复率_本科论文写作重复率高的原因,毕业论文降重技巧总结!...

    论文重复率的问题,是大学高等院校都比较关心的一点,大学生在论文写完以后,都要经过知网论文检测,在查看重复报告的时候,无法直视,因为论文重复率提高啦.经过几次论文降重修改还是没法降低论文重复率.那么论文 ...

  3. chatGPT优化论文会导致论文重复率升高,实测段落重复率从23.2%狂飙到70.7%

    我们让chatGPT对段落文字换一种表述,得到的结果是,转换后的内容能够完整的合乎逻辑的表述,但重复率从23.2%狂飙到70.7%,因此不建议使用chapGPT来去重. 转换前的文字重复率:23.2% ...

  4. 代码重复率检查工具jsinspect 检查重复代码,去掉冗余代码。

    jscpd jsinspect npm install -g jsinspect 检测复制粘贴和结构类似的JavaScript代码

  5. SCI论文总重复率29%,单篇重复达到了4%,请问可以了吗?

  6. mysql增加字段设默认值_mysql原表增加字段且设置默认值及修改字段默认值

    -- 增加字段及注释 alter table sr_zjff_main add zjbzjxbj int(1) DEFAULT '0' COMMENT ''; alter table sr_main_ ...

  7. 聚集索引和非聚集索引的区别_武汉无疫情小区居民可在小区内非聚集性个人活动...

    3月18日,武汉市新冠肺炎疫情防控指挥部社区疫情防控组发布<关于无疫情小区.村(队)调整管控措施的意见>(下简称<意见>)指出,全市认定的无疫情小区.村(队)可对管控措施作有序 ...

  8. 代码重复率PHP,终端代码重复率检测实践

    背景 当一个项目在不断开发迭代.功能累加的过程中,重复代码的出现几乎是不可避免的.其出现的原因不外乎以下两点: 复制粘贴:这可能是造成代码重复的最大因素,其原因也有很多种,可能是跨项目的代码拷贝,可能 ...

  9. 投稿别踩雷!| SCI论文重复率问题不容小觑

    [SciencePub学术干货]SCI重复率很低或较低就一定安全吗?弄懂这三个问题,让重复率不再成为困扰: 问题一:SCI论文重复率26%,还需要降重吗? 简单回答:需要. 目前大部分SCI期刊都没有 ...

最新文章

  1. 【Webview相关问题】登陆失败之cookie陷阱
  2. React路上遇到的Bug
  3. 如何在两个目录中删除其中一个目录中同名文件
  4. 防止Stack smash的技术
  5. MapReduce+Docker:Archer简化Netflix媒体处理
  6. 开发db文件_Swoole高效跟传统的web开发有什么区别?life
  7. 中国25个最“吓人”地名,看完都被吓笑了!
  8. Ubuntu 扩展内存或断电之后卡在 /dev/sda1 clean 和 /dev/sda1 recovering journal
  9. 无法扩展该卷 因为群集的数量将超过文件系统_Ubifs文件系统分析
  10. QT生成在Windows下有图标的exe文件(IDE=QT Creator)
  11. Android Multimedia框架总结(二十四)MediaMuxer实现手机屏幕录制成gif图
  12. 错误: -source 1.6 中不支持 diamond 运算符
  13. JAVA 使用Dom4j 解析XML
  14. mysql 分组后,统计记录条数
  15. DNT tools 工具简介
  16. ORACLE 10 g的 merge into 用法
  17. easyexcel导出图片到具体excel具体位置并设置大小
  18. adf机器_STOLL机器——ADF-3 681000 机器赏析
  19. js实现任意节日倒计时html
  20. 谈谈测试过程中常见的几个问题

热门文章

  1. R与数据分析学习总结之一:R语言基本操作
  2. 51nod-The Captain
  3. vue停止指令_一个微小的Vue指令,当到达边缘时停止传播滚动
  4. pycharm 第三方库加载不出来
  5. 【创业分享】2022年,仅赚几万,但却很踏实?
  6. matlab snr eb n0,转~~  SNR + Eb/N0
  7. vue实现带节假日的日历
  8. Facebook 新款AR眼镜都有哪些技术创新?
  9. 2022-2027年(新版)中国地铁AFC系统行业发展现状与供需态势报告
  10. 使用wro4j和maven在编译期间压缩js和css文件