【发布时间】:2011-08-24 21:23:12
【问题描述】:
我有这个查询:
SELECT
t.type_id, t.product_id, u.account_id, t.name, u.username
FROM
types AS t
INNER JOIN
( SELECT user_id, username, account_id
FROM users WHERE account_id=$account_id ) AS u
ON
t.user_id = u.user_id
ORDER BY
t.type_id DESC
第一个问题:
目前完成此操作大约需要 30 秒,类型表中只有 18k 条记录。
目前唯一的索引只是一个只有 id 的主索引。
会不会是因为缺少更多的索引造成的?还是更多地与这个查询的结构有关?
第二个问题:
如何添加 LIMIT 以便我只能获得 100 条 type_id 最高的记录?
【问题讨论】:
-
这不可能是真正的查询。您有一个
p表别名,但没有将任何表别名为p。 -
我简化了查询,以使其更清楚,对不起,我刚刚更正了。
标签: mysql join sql-order-by inner-join