misakarin
V2EX  ›  问与答

关于 MySQL 的笛卡尔乘积的问题

  •  
  •   misakarin · Apr 3, 2020 · 1471 views
    This topic created in 2236 days ago, the information mentioned may be changed or developed.
    有 select t1.a from t1 WHERE XXX ,select t2.b from t2 wheere XXX 这两条语句,分别的执行时间都是毫秒级的,数据量都是几千条。
    当语句组合起来,select tmp1.a ,tmp2.b from (select t1.a from t1 WHERE XXX) as tmp1,(select t2.b from t2 wheere XXX) as tmp2,运行时间为什么变成了几百秒?
    3 replies    2020-04-04 01:06:45 +08:00
    xiri
        1
    xiri  
       Apr 3, 2020 via Android
    你不是都说了笛卡尔乘积吗?
    wuqingdzx
        2
    wuqingdzx  
       Apr 4, 2020 via iPhone
    Explain 看一下,答案藏在最后一列。
    除了笛卡尔乘积的问题,还有各种 buffer 不够导致使用临时表或者 filesort
    ruxuan1306
        3
    ruxuan1306  
       Apr 4, 2020
    一千乘一千等于一百万
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3616 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 05:05 · PVG 13:05 · LAX 22:05 · JFK 01:05
    ♥ Do have faith in what you're doing.