为什么以下查询要花很长时间才能显示结果?

Why is following query taking forever to show results?

    SELECT     ba.bug_id, 
               ba.bug_when, 
               b.short_desc 
    FROM       bugs_activity ba 
    INNER JOIN bugs b 
    order BY   bug_id DESC 
    LIMIT      10

上面的查询应该 return 来自 2 个表的数据(bugs_activity 和错误)。但它只是进入一个无限循环。有什么问题吗?

在查询前使用 EXPLAIN return 编辑了以下结果 -

可能是因为没有查询哪些字段建立这种关系的信息,所以结果集太大,执行超时。

您需要在您的连接子句中告知 BUGS 中的哪些字段与 BUGS_ACTIVITY 相关。

例如,如果您有两个 table,Customer 和 Customer_Contact,在您的 table Customer_Contact 中,您有一个字段是 table 客户。您需要在查询中提供此信息:

SELECT cus.*
  FROM customer cus
 INNER JOIN customer_contact con ON con.customer_id = cus.id

这只是一个示例,如果您提供两个 table 中存在的字段,它可能会有所帮助。我可以想象这样的事情:

SELECT     ba.bug_id, 
           ba.bug_when, 
           b.short_desc 
FROM       bugs_activity ba 
INNER JOIN bugs b ON ba.bug_id = b.id
order BY   bug_id DESC 
LIMIT      10