为什么以下查询要花很长时间才能显示结果?
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
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