博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
索引下推
阅读量:3961 次
发布时间:2019-05-24

本文共 478 字,大约阅读时间需要 1 分钟。

索引下推(只发生在联合索引中)

比如一个表中有四个字段id,name,age,gender, 创建联合索引(name,age)

查询

select * from t1 where name = ‘zhangsan’ and age = 10

在没有索引下推的优化:

1、先根据name把符合的数据从存储引擎拉到mysql的server层
2、在server层按照age进行过滤

在这里插入图片描述

索引下推优化:

从存储引擎拉取数据的时候直接按照name和age进行判断,将符合的结果返回mysql的server层
在这里插入图片描述
1、不使用索引条件下推优化时存储引擎通过索引检索到数据,然后返回给MySQL服务器,服务器然后判断数据是否符合条件。
2、当使用索引条件下推优化时,如果存在某些被索引的列的判断条件时,MySQL服务器将这一部分判断条件传递给存储引擎,然后由存储引擎通过判断索引是否符合MySQL服务器传递的条件,只有当索引符合条件时才会将数据检索出来返回给MySQL服务器。索引条件下推优化可以减少存储引擎查询基础表的次数,也可以减少MySQL服务器从存储引擎接收数据的次数。

转载地址:http://zqhzi.baihongyu.com/

你可能感兴趣的文章
Ubuntu 16.04开机A start job is running for Raise network interface(5min 4s)解决方法
查看>>
Ubuntu 16.04开机隐藏菜单缩短时间
查看>>
Ubuntu 更换国内源
查看>>
Ubuntu16.04下Docker pull connection refused 解决办法
查看>>
postgres基本操作(个人总结版)
查看>>
The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
查看>>
《Linux内核设计与实现》- Linux的进程
查看>>
inet_ntoa()
查看>>
POSIX消息队列mq_open问题
查看>>
两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
查看>>
用户态切换到内核态的3种方式
查看>>
笔试常见的智力题(附答案)
查看>>
内核库函数
查看>>
Linux 系统内核空间与用户空间通信的实现与分析
查看>>
如何写好应用型学术论文
查看>>
如何查看进程的各种限制
查看>>
64位int类型用printf输出问题
查看>>
网络后台开发面试题目
查看>>
Linux 共享内存限制的查看与设置
查看>>
进程的状态转换
查看>>