zoukankan      html  css  js  c++  java
  • mysql5.7强制指定驱动表与被驱动表straight_join

    select * from 驱动表 t1 STRAIGHT_JOIN 被驱动表  t2 ON t1.order_id = t2.order_id;

    select * from t_order t1 STRAIGHT_JOIN t_order_detail  t2 ON t1.order_id = t2.order_id;

    这样强制指定驱动表和被驱动表的好处是可以让mysql在计算SQL执行成本时按照自己的计划进行。也就是说如果你认为自己比MYSQL的SQL优化器更牛B,认为使用t1作为驱动表更好,这样就是执行成本更低。

    rows_examined_per_scan: 321     表示从驱动表结果集预估有321条记录会对被驱动表进行扫描

    rows_produced_per_join: 321     如果这两个数值一样,表示filter =100 即过滤100%的数据,但是如果这个值比上一个值少,则可能使用了覆盖索引等进行了优化,那么filter也会少于100%

    filtered: 100

    prefix_cost是总成本

    end.

    支付宝扫一扫,为女程序员打赏!
    作者:梦幻朵颜
    版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    二叉树
    基础1
    tcp/udp
    异步io模块(自定义)
    select+异步
    异步发送请求的几种方式
    多线程,进程实现并发请求
    位解包运算
    从前端程序员的视角看小程序的稳定性保障
    运行node 报错 throw er; // Unhandled 'error' event
  • 原文地址:https://www.cnblogs.com/zhuwenjoyce/p/15017437.html
Copyright © 2011-2022 走看看