V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
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
s609926202
V2EX  ›  MySQL

左连接表查询用到了索引,为何还是走全表扫描?

  •  
  •   s609926202 ·
    shangdev · 2022-09-21 17:38:04 +08:00 · 1842 次点击
    这是一个创建于 821 天前的主题,其中的信息可能已经有所发展或是发生改变。


    如图,t2 表走索引只有 37 行,左连接表 t1 也用到了索引,但是走的却是全表扫描。

    请教这个是什么情况,怎么优化呢、
    第 1 条附言  ·  2022-09-22 08:43:52 +08:00
    确实走索引了,我误以为查所有记录数就是没走索引、、
    10 条回复    2022-09-22 08:13:04 +08:00
    liprais
        1
    liprais  
       2022-09-21 17:42:33 +08:00
    哪里全表扫描了?
    不是写了一个是主键一个是索引么?
    kera0a
        2
    kera0a  
       2022-09-21 17:45:35 +08:00
    t1.id 和 t2.file_id 的编码一样么?
    s609926202
        3
    s609926202  
    OP
       2022-09-21 17:47:22 +08:00
    @liprais 但是 t2 表总行数也是 113283
    s609926202
        4
    s609926202  
    OP
       2022-09-21 17:47:48 +08:00
    @liprais 说错了,是 t1 表
    liprais
        5
    liprais  
       2022-09-21 17:50:04 +08:00
    你知道 left join 啥意思么?
    @s609926202
    Wdafff
        6
    Wdafff  
       2022-09-21 17:51:49 +08:00
    先条件过滤再 join
    nekoneko
        7
    nekoneko  
       2022-09-21 17:51:50 +08:00
    没问题啊
    lookStupiToForce
        8
    lookStupiToForce  
       2022-09-21 17:51:55 +08:00
    key 里用到 PRIMARY ,怎么会是全表扫描
    你可以再确认一下 t2 那 37 条数据是否真的能关联到 11w+行,如果确认这个估计有错误,可以 analyze 一下 t1 表
    xuanbg
        9
    xuanbg  
       2022-09-21 18:02:32 +08:00
    这个执行计划里面没有全表扫描啊,不是很正常的一个查询么。。
    hscovo
        10
    hscovo  
       2022-09-22 08:13:04 +08:00
    left join 我理解就是取出左表的每一行记录,去右表里面查询吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4397 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:04 · PVG 18:04 · LAX 02:04 · JFK 05:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.