我们来学mysql -- EXPLAIN之filtered(原理篇)

ops/2024/11/29 6:21:48/

EXPLAIN之filtered

  • 题记
  • filtered

题记

  • 书接上文《 EXPLAIN之rows》
  • 2024美国大选已定,川普剑登上铁王座,在此过程中出谋划策的幕僚很重要,是他们决定了最终的执行计划
  • 在《查询成本之索引选择》中提到,explain的输出,就是优化器(幕僚)选择的执行计划
  • 除了SELECT开头的查询,DELETE、INSERT、UPDATE也都有执行计划,这里只关注SELECT
  • 从输出的计划中可见很多字段,传达了什么样的信息,接下来看filtered

filtered

  • “过滤”?,过滤啥呢,福尔摩斯将两个手指呈现V字型放在额前:看样子和条件有关!
  • 真相也正是如此,指向条件过滤得到真实记录数
  • 什么?在《 EXPLAIN之rows》中rows不就是预计扫描的记录数吗?
  • 当然不是…
  • 额!…
  • 各位看官,请见如下分解!
    • 关于条件过滤:它是计算驱动表扇出时的策略
    • 如果全表扫描 (All访问方法) 执行 单表查询,rows是预计 扫描记录数,filtered是估计 满足条件记录数
      select * from ucoding where mark = 'mark_7'
      在这里插入图片描述
    • 如果索引执行单表扫描,rows是预计 扫描区间的记录数,filtered估计还满足其他条件的记录数
      select * from ucoding where ( 'A7b93' < k1 and k1 < 'Bd621') and mark = 'Td621'
      在这里插入图片描述
    • 现在来关注在连接查询中驱动表对应执行计划的filtered值
      select * from ucoding t1 JOIN icoding t2 on t1.k1 = t2.i_k1 where t2.i_mark = 'Td621''
      在这里插入图片描述
  • 结合之前拿捏的type后,现在filtered表示的被驱动表查询的次数,同样收为法器,那可真是倚天剑配屠龙刀,天下任我行

http://www.ppmy.cn/ops/137588.html

相关文章

React(五)——useContecxt/Reducer/useCallback/useRef/React.memo/useMemo

文章目录 项目地址十六、useContecxt十七、useReducer十八、React.memo以及产生的问题18.1组件嵌套的渲染规律18.2 React.memo18.3 引出问题 十九、useCallback和useMemo19.1 useCallback对函数进行缓存19.2 useMemo19.2.1 基本的使用19.2.2 缓存属性数据 19.2.3 对于更新的理解…

深入理解 JavaScript 中的 AbortController

在现代 JavaScript 开发中&#xff0c;处理异步操作是极为常见的任务。然而&#xff0c;有时我们需要一种机制来主动取消正在进行的异步操作&#xff0c;这时候 AbortController 就派上了大用场。本文将深入探讨 AbortController 的功能、用法以及它在实际开发中的应用场景。 …

练习题 - Django 4.x CSRF 站点保护示例和使用配置方法

在 Web 应用程序的开发中,安全性是一个非常重要的方面。CSRF(跨站请求伪造)是一种常见的网络攻击方式,攻击者通过伪造用户的请求来执行恶意操作。为了防止这种攻击,Django 提供了内置的 CSRF 防护机制。学习如何在 Django 中正确配置和使用 CSRF 保护,可以有效地提高 Web…

csp-j初赛模拟试题(解析)

题目&#xff1a; 在 C中&#xff0c;以下哪个关键字用于实现多态性&#xff1f; A. virtualB. staticC. externD. const 以下数据结构中&#xff0c;不属于线性结构的是&#xff08; &#xff09;。 A. 栈B. 队列C. 二叉树D. 链表 一个有 8 个顶点的无向图&#xff0c;若每个…

blender如何使用nerf插件得到渲染好的二维图像和相机内外参数(blender数据集的构建)

GitHub - maximeraafat/BlenderNeRF: Easy NeRF synthetic dataset creation within Blender 上述链接是插件github地址&#xff0c;得到插件后在左上角的编辑中选择 启用插件&#xff0c;效果如下 按n键&#xff0c;弹出UI界面 三种模式都可以使用&#xff1a; SOF模式&…

【代码随想录|贪心算法02】

122.买股票的最佳时机 题目链接https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii 好巧妙的一道题啊&#xff0c;做之前完全不会想到这种解法。 局部最优&#xff1a;收集每天正利润 全局最优&#xff1a;求得最大利润 这道题只让你返回最大的利润和&…

Python学习35天

# 定义父类 class Computer: CPUNone MemoryNone diskNone def __init__(self,CPU,Memory,disk): self.disk disk self.Memory Memory self.CPU CPU def get_details(self): return f"CPU:{self.CPU}\tdisk:{self.disk}\t…

Leetcode1. 两数之和(HOT100)

链接 我的代码&#xff1a; class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> hash;vector<int>res;for(int i 0;i<nums.size();i){hash[nums[i]] i;}for(int i 0;i<nums.size();i…