Mysql 索引合并

news/2024/12/26 15:54:17/文章来源:https://www.cnblogs.com/katsu2017/p/18633196

1.什么是索引合并

  当where条件包含多个索引时,mysql可能会使用超过一个索引提高查询效率(当然也可能不走索引,以explain为准),例如有idx_a, idx_b,查询语句where a = 1 and b = 'a',可能会走索引合并

2.特征
explain type=index_merger

3.有哪些类型
有以下三种类型,可在explain 的extra中查看
intersect(交集): 例如where a = 1 and b = 'a',简单理解就是分别按照idx_a和idx_b查出两个集合,求交集;但要求查出的两个集合是主键有序的,为了便于求交集,当然mysql可以自己先排序再求交集(猜测可能因为效率不愿意这样做);
union(并集) :例如where a = 1 or b = 'a',同上(这里也是要求两个集合主键有序);
sort_union(排序并集) :例如where a > 1 or b = 'a',也是分别求两个集合,但因为可能是二级索引,不是主键有序,所以先sort再union(问题来了,这里为什么又愿意排序,交集是由多到少,并集是由少到多,对少的排序效率能接受,且不白干活,数据都是最终要返回的---猜的哈)

4.参考文档
https://juejin.cn/post/7071865447108313095

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

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

相关文章

36MT160-ASEMI开关电源整流方桥36MT160

36MT160-ASEMI开关电源整流方桥36MT160编辑:ll 36MT160-ASEMI开关电源整流方桥36MT160 型号:36MT160 品牌:ASEMI 封装:D-63 特性:插件整流方桥 正向电流:35A 反向耐压:1600V 恢复时间:>2000ns 引脚数量:5 芯片个数:4 芯片尺寸:50MIL 浪涌电流:500A 漏电流:>10…

java8--方法--格式化输出--printf

System.out.printf("%,.2f",10000.0 / 3.0); 效果图:ps: 在分隔符后可以指定字符串长度 System.out.printf("%,10.2f",10000.0 / 3.0); 效果图:

JDBC核心6步

1JDBC简介 java DataBase Connectivity,又称java数据库连接是独立于任何数据库管理系统的api java提供接口规范,由各个数据库厂商提供接口的实现,厂商提供的实现封装成jar文件,也就是我们俗称的数据库驱动jar包 学习JDBC,充分体现了面向接口编程的好处2.JDBC核心6步 1.注册…

【python应用】基于 Python 的远程管理工具:PyChi 远程管理系统

一、引言 在现代 IT 环境中,远程管理工具是开发者和运维人员必不可少的利器。本文将为大家介绍一个基于 Python 构建的多功能远程管理工具 PyChi,它能够让你轻松地对远程客户端进行管理操作,包括文件管理、系统命令执行、截图、录音等功能。二、软件简介 PyChi 是一个基于异…

Hexo-Github-pages-实现个人博客

Hexo + Github pages 实现个人博客 一、过程总览和回顾 我是新手,2024/12/21号尝试着自己搭建自己的个人博客网站,起初是只想着在自己本地电脑环境上搭建 一开始使用了Hugo,据说是世界上最快的静态网页生成器,但是捣鼓了一个下午,无功而返第一个原因:阅读官方文档不够仔细…

AI智能分析视频分析网关热知识:视频分析技术如何帮助提升城市公共安全?

城市公共安全是社会发展的重要基础,而视频分析技术的应用为提升这一领域的效率和效果提供了强有力的支持。随着城市化进程的加快,公共安全面临的挑战日益增多,如何有效监控和管理城市环境中的安全隐患,已成为城市管理者亟待解决的问题。接下来,我们将详细探讨视频分析技术…

quietflow.js-jquery背景层动画插件

quietflow.js是一款可以制作炫酷页面背景层动画效果的jquery插件。该jquery插件内置了9种不同效果的背景层动画,你可以为页面轻松的添加背景动画效果。 可用的背景层动画效果有:squareFlash vortex bouncingBalls shootingLines simpleGradient starfield layeredTriangles c…

用echarts绘制的相关地图,热力图层,点,背景等都可修改

实际项目中用echarts绘制的相关地图,热力图层,点,背景等都可修改,点位可点击。 注意事项: 项目中安装的echarts版本必须是4.9.0的,"echarts": "^4.9.0", "echarts-countries-js": "^1.0.5", "echarts-gl": "^1.1…

在Lazarus下的Free Pascal编程教程——在Lazarus中使用计时器组件TTimer

0.前言 我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。 了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”和…

VMware ESXi 8.0U3c macOS Unlocker OEM BIOS ConnectX-3 网卡定制版 (集成驱动版)

VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版 (集成驱动版)VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版 (集成驱动版) VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发…

springboot项目启动和部署: 自带tomcat

springboot项目启动: springboot内部嵌入了tomcat,在spring-boot-starter-web里可以找到,在这里插入图片描述这样在研发过程中就不在需要tomcat服务器,并且springboot项目在打完jar之后,可以直接启动也不需要另外的本地tomcat。也就是说拿到springboot项目jar之后,完全可…

python脚本定期删除EFK日志索引

使用pyhon脚本删除50天前的日志pip install Elasticsearch pip install datetime !/usr/bin/python3 from elasticsearch import Elasticsearch from datetime import datetime, timedelta Elasticsearch服务器地址,默认本地为localhost,可按需替换 es_host = "localhos…