I am using a SP which takes around a minute to execute; any ideas for optimisation? For indexing I am using is the accessCodeID, amount of data is around 20k,
SELECT COUNT(tbAC.abGUID) AS total,
tbAC.abGUID,
tbAC.aVID,
tb_tt.used,
FROM tbAC
INNER JOIN (SELECT COUNT(abGUID) AS used,
abGUID
FROM tbAC AS tbAC_1
WHERE ( batchGUID = @id )
AND ( aVID > 0 )
AND ( isVoided = 0 )
AND ( isCodeUsed = 1 )
GROUP BY abGUID) AS tb_tt
ON tbAC.abGUID = tb_tt.abGUID
INNER JOIN tbV
ON tbAC.aVID = tbV.vendorID
WHERE ( tbAC.aVID > 0 )
AND ( tbAC.batchGUID = @id )
AND ( tbAC.isVoided = 0 )
AND ( lowLevelNotified = 0 )
GROUP BY tbAC.abGUID,
tbAC.aVID,
tb_tt.used,
tbV.name,
tbV.firstName,
tbV.lastName,
tbV.tel,
tbV.email,
tbV.contactName

Assuming allocatedVendorID is functionally dependant on abGUID, try: