mysql - 如何优化多个连接

标签 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

编辑:添加了我的 table 的图片。

最佳答案

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

create index ix1 on acct (acct_n);

create index ix2 on printing (memb_n);

create index ix3 on reprinting (memb_n);

关于mysql - 如何优化多个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57212210/

相关文章:

mysql - sphinxsearch 给出缺少属性的错误

php - 在 1 个 while 循环中获取两个数组(不工作)

mysql - SQL Alter table 语句包含数据数组的列

sql - 同一实体内的属性与查询/ View 之间的关系

php - Codeigniter 结合两个结果

php - 效果附属品替换 MySQL

mysql - mysql中选择带空格的记录

php - 快速复制大型 MySQL 数据库进行测试

sql - 自连接查询

mysql - 通过 case 语句从 group 中获取外键项的计数