Я запускаю процедуру хранения, которая занимает много времени, из-за чего мне приходится увеличивать время ожидания до почти 3 минут, может ли кто-нибудь помочь в том, как я могу уменьшить время для процедура хранилища для выполнения, он отлично работает на 100-500 кодах, но когда код превышает 20000, он замедляется и занимает до 3-4 минут, ниже sp, может ли кто-нибудь помочь мне его оптимизировать.Проблемы с производительностью при запуске хранимой процедуры
@GUID uniqueidentifier
-- Insert statements for procedure here
SELECT
COUNT(Code.allocatedVendorID) AS Amt,
MIN(Code.dateAllocated) AS dateAllocated,
derivedtbl_1.startID, derivedtbl_2.endID,
tbVendor.name,
Code.unitCost, Code.isFree, Code.isAcademic,
Code.isVoided, Code.GUID, Code.expiryDate
FROM
Code
INNER JOIN
(SELECT MIN(CodeID) AS startID, GUID
FROM Code AS tbAccessCode_1
GROUP BY GUID) AS derivedtbl_1
ON Code.GUID = derivedtbl_1.GUID
INNER JOIN
(SELECT MAX(accessCodeID) AS endID, GUID
FROM Code AS tbAccessCode_1
GROUP BY GUID) AS derivedtbl_2
ON Code.GUID = derivedtbl_2.GUID
INNER JOIN tbVendor
ON Code.allocatedVendorID = tbVendor.vendorID
WHERE (Code.GUID = @GUID) AND (Code.allocatedVendorID > 0)
GROUP BY
derivedtbl_1.startID, derivedtbl_2.endID,
tbVendor.name,
Code.unitCost, Code.isFree, Code.isAcademic,
Code.isVoided, Code.GUID, Code.expiryDate
ORDER BY dateAllocated DESC
Какие показатели у вас на месте? – JNK
Код и vendorID - это индекс –
Множество подзапросов могут существенно повлиять на производительность. –