我有以下查询这是在一个1500行的表上羚牛3秒,有人知道如何简化它?我需要简化一个MySQL子查询的性能 - 请帮助
SELECT dealers.name, dealers.companyName, dealer_accounts.balance
FROM dealers
INNER JOIN dealer_accounts
ON dealers.id = dealer_accounts.dealer_id
WHERE dealer_accounts.id = (
SELECT id
FROM dealer_accounts
WHERE dealer_accounts.dealer_id = dealers.id
AND dealer_accounts.date < '2010-03-30'
ORDER BY dealer_accounts.date DESC, dealer_accounts.id DESC
LIMIT 1
)
ORDER BY dealers.name
我需要为每个经销商的最新dealer_accounts记录在某一日期与上dealer_accounts表dealer_id场的连接。这真的应该很简单,我不知道为什么我很难找到一些东西。
'DEALER_ACCOUNTS.id'是一个自动增量吗?并且是否有可能让'DEALER_ACCOUNT'具有“日期”值?否则,'MAX(dealer_accounts.id)'应该没问题。 – 2010-05-31 23:43:05
感谢您的评论,但是日期可以不按顺序添加,否则您的建议将起作用。谢谢您的帮助! – Richard 2010-06-01 01:51:58