首页 > 数据库 >MySQL优化-explain:字段,索引相同的多个数据库为什么他们的type,key,key_len会不一样

MySQL优化-explain:字段,索引相同的多个数据库为什么他们的type,key,key_len会不一样

时间:2024-09-05 16:47:58浏览次数:9  
标签:key explain 索引 数据量 MySQL type log

实习倒数第二天,偶然间查了查自己的写的sql语句性能有没有问题。

select COL1,COL2,COL3
from inf_log
where CODE ='AAA' and ORDER_ID='123456';

上述字段中,code与order_id都被设置为索引IDX_MIAN_ID,IDX_CODE。也就是说,正常情况下这两个索引应该是都会命中

公司实现了表的水平分片把inf_log分成了20+个表。

explain select COL1,COL2,COL3
from inf_log
where CODE ='AAA' and ORDER_ID='123456';

而查出来的结果却显示,只有一个表是命中两个索引的,其余的都只是命中了一个索引,百思不得其解。

explain select COL1,COL2,COL3
from inf_log

通过上述sql我发现这个命中两个索引的表的数据量远高于其他表的数据量:其他表的rows最多是千位级别,而这个命中两个索引的表row为十万级别

也就是说,当数据量过小的时候,MySQL的查询优化器会取用单个索引搜索就够了;当数据量达到一定量时,MySQL的查询优化器会认为联合索引的查询更有效进而选择更多key,将type从type由普通索引ref改为索引合并index_merge

 

标签:key,explain,索引,数据量,MySQL,type,log
From: https://www.cnblogs.com/kun1790051360/p/18398794

相关文章

  • 如何在极狐GitLab中添加 SSH Key?
    本文分享如何生成SSHKey并添加到极狐GitLab中,然后用SSHKey进行代码拉取。**极狐GitLab是GitLab在中国的发行版,可以一键私有化部署,对于中国开发者更友好。详细安装步骤可以查看官网https://dl.gitlab.cn/xed81vsc**。SSHKey对于通过ssh来进行极狐GitLab代码拉取......
  • antD——报错:模块 ""antd/es/checkbox/Group"" 没有导出的成员 "CheckboxValueType"。
    参考:1. https://github.com/ant-design/ant-design/issues/50000  importtype{CheckboxValueType}from'antd/es/checkbox/Group'失效#500002. https://github.com/ant-design/ant-design/pull/49073  fix:fixCheckbox.Grouptype #490733. https://ant-de......
  • isspace函数讲解 <ctype.h>头文件函数
    目录​​​​​​​1.头文件2.isspace函数使用1.头文件以上函数都需要包括头文件<ctype.h>,其中包括isspace函数#include<ctype.h>2.isspace函数使用isspace函数用于判断字符是否为空白字符,而这里的空白字符,包括我们上一节讲过的部分控制字符,所以很好记忆我们......
  • isdigit函数讲解 <ctype.h>头文件函数
    目录1.头文件2.isdigit函数使用  1.头文件以上函数都需要包括头文件<ctype.h>,其中包括isdigit 函数#include<ctype.h>2.isdigit函数使用isdigit函数用于判断字符是否为阿拉伯数字0-9,如果是,则返回非0的数,如果不是则返回0比如:isdigit函数测量的一定是字......
  • RestoreFormer++: Towards Real-World Blind Face Restoration from Undegraded Key-V
    RestoreFormer++:TowardsReal-WorldBlindFaceRestorationfromUndegradedKey-ValuePairs(IEEE,2023,8)PaperGitHub动机:认为之前的模型都只关注了图像的纹理信息,而忽视了人脸的细节信息,本文采用多尺度、交叉注意力的方式引入模型的语义信息.总体可以分为两大部分:......
  • 在 Vue 3 中,使用 `PropType` 定义复杂类型的 props
    在Vue3中,使用PropType可以定义复杂类型的props。这对于确保组件props接收到的值符合预期的结构非常有用。下面是一些定义复杂类型的常见方法。1.定义对象类型你可以使用TypeScript的接口或类型别名来定义复杂对象类型。import{defineComponent,PropType}from'......
  • MathType免费安装公众号
    ......
  • mathtype7破解版下载安装!附带免费激活码许可证
    ......
  • GPIOMode_TypeDef 学习备注
    学习STM32——当需要用的GPIO引脚的时候往往要进行GPIO初始化,配置GPIO结构体函数。   GPIO初始化:   GPIO_InitTypeDefGPIO_InitStructure;              //定义结构体变量     GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;  ......
  • React18+TypeScript4+Vue3:‌入门到实战,‌灵活技术选型指南
    React18+TypeScript4+Vue3:‌入门到实战,‌灵活技术选型指南在当今的前端开发领域,‌React、‌TypeScript和Vue是三大热门技术,‌它们各自拥有独特的优势和广泛的应用场景。‌掌握这些技术,‌不仅能够提升你的开发效率,‌还能帮助你在不同项目中做出更加合适的技术选型。‌本文将带......