如何优化多个联接

时间:2019-07-26 02:00:14

标签: mysql sql

由于我的时间很长,你们如何优化具有多个联接的查询?

    SELECT 
  * 
FROM
  (SELECT 
    MEMB.ACCT_N,
    MEMB.LAST_M,
    MEMB.MEMB_N,
    MEMB.MIDI_M,
    MEMB.STRT_D,
    MEMB.LAST_D,
    ACCT_M,
    PrintDate,
    RePrint 
  FROM
    MEMB 
    INNER JOIN ACCT 
      ON MEMB.ACCT_N = ACCT.ACCT_N 
    INNER JOIN Printing 
      ON MEMB.MEMB_N = Printing.MEMB_N
      INNER JOIN RePrinting 
      ON MEMB.MEMB_N = RePrinting.MEMB_N LIMIT 1000) AS MEMB ;

每个表的MEMB表的MEMB_N的长度相同,具有70k数据。

img1

img2

img3

编辑:添加了我的桌子图像。

1 个答案:

答案 0 :(得分:2)

一个简单的[初始]评估将告诉您您需要创建的索引。例如:

create index ix1 on acct (acct_n);

create index ix2 on printing (memb_n);

create index ix3 on reprinting (memb_n);