1

我目前有 5 张桌子:

trialSum
-------------
id    total
-------------
1     2000
2     1000
3     500

trialLand
-------------
id    total
-------------
1     1000
2     250
3     500

trialImp
-------------
id    total
-------------
2     250

trialBldg
-------------
id    total
-------------
1     1000
2     500

trial
---------------------
id    name     info
---------------------
1     xxxxx    xxxxx
2     xxxxx    xxxxx
3     xxxxx    xxxxx
4     xxxxx    xxxxx

试用表将具有最多的条目,并且所有“id”字段都相互匹配。每个表将有超过 7000 个条目。我正在尝试创建一个看起来像这样的大表:

    trial
    ----------------------------------------------------------------------
    id    name     info    totalSum    totalLand    totalImp    totalBldg
    ----------------------------------------------------------------------
    1     xxxxx    xxxxx    2000        1000         0           1000
    2     xxxxx    xxxxx    1000        250          250         500
    3     xxxxx    xxxxx    500         500          0           0
    4     xxxxx    xxxxx    0           0            0           0

如果我执行一个包含 4 个左连接的巨型 MySQL 查询,则需要 40 多分钟才能完成。必须有一个更简单的方法。谢谢!

4

1 回答 1

2

我会说,左连接确实是一个很好的方法。您对这些 id 列有索引吗?尝试添加索引,速度应该会提高。请记住使用 EXPLAIN 来确认索引的使用是否正确。更多关于解释http://www.dbtuna.com/article.asp?id=14

于 2013-01-04T16:23:07.687 回答