我有2個表(AllClients
& AllActivities
),並需要檢索以下信息:需要幫助提高SQL性能(子查詢與聯接)
我需要在那裏最近的活動已被輸入不同的客戶名單去年。我已經得到了下面的代碼來工作,但它很痛苦地慢,因此沒有用。我相信一個連接(沒有子查詢)會更快,但我無法弄清楚。這是我當前的SQL語句:
select distinct(AllClients.LookupCode)
from AllClients
join (select LookupCode,
max(AllActivities.EnteredDate) as EnteredDate
from AllActivities
group by LookupCode) AllActivities
on AllClients.LookupCode = AllActivities.LookupCode
where AllClients.Name = '$userName'
and AllClients.TypeCode = 'P' and AllActivities.EnteredDate < '$oneYearAgo'";
子查詢看起來很好。你可以先在'EnteredDate'上添加條件,而不是在主查詢中進行。 – Sebas