› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
su2018
V2EX  ›  MySQL

mysql 效率问题

  •  
  •   su2018 · Sep 29, 2022 · 2613 views
    This topic created in 1458 days ago, the information mentioned may be changed or developed.

    如图 图 图片链接: https://www.hualigs.cn/image/6335636377e9e.jpg

    t 表的数据比 t4 的数据大很多

    为啥把 left join 的表 采用一个子查询的方式后 居然比原先快那么多, 但是如果从 explain 来看的 还是第一种的要好吧

    是不是因为采用了子查询改变了 查询表的顺序, 原先是先查 t 表 改用子查询后 先查 t4 的表 所以才导致效率快很多?

    3 replies  •  2022-09-30 10:41:36 +08:00
    7911364440
        1
    7911364440  
       Sep 29, 2022
    应该是的,你用 left join 把 t4 作为驱动表应该也很快
    su2018
        2
    su2018  
    OP
       Sep 30, 2022
    @7911364440 怎样才能作为驱动表? 也是用一个子查询?
    7911364440
        3
    7911364440  
       Sep 30, 2022
    驱动表是指 join 左边的表,一般用小表作为驱动表可以减少被驱动表的访问次数。

    你把 left join 改成 inner join sql 语句的逻辑就不一样了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2491 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:21 · PVG 08:21 · LAX 17:21 · JFK 20:21
    ♥ Do have faith in what you're doing.