У меня эта проблема уже пару недель. Проблема заключается в том, что запрос занимает 4-5 минут для запуска на веб-сайте и не более 2 или 3 секунд для запуска в ssms. Также я обнаружил, что после того, как я внес изменения в этот запрос, например, добавив переменную customerId, он начнет быстро запускаться на веб-странице, но к следующему дню он будет медленным снова. Этот вопрос относится к этому вопросу:
DECLARE @customerID INT
SET @customerID = @CustID
DECLARE @MyTable table(
Iden int NOT NULL IDENTITY(1,1),
ProductID int)
INSERT INTO @MyTable(ProductID)
SELECT P.ProductID FROM Product P WITH (NOLOCK)
left join Compunix_ProductMMY cpmmy with (nolock) on p.ProductID = cpmmy.ProductID
left join Compunix_CustomerMMY ccmmy with (nolock) on ccmmy.mmyid = cpmmy.mmyid
WHERE P.Deleted=0 AND P.Published=1 and (ccmmy.customerid = @customerID OR cpmmy.productid IS NULL)
SELECT c.Name, c.SeName, c.CategoryID
FROM Category c WITH (NOLOCK)
JOIN ProductCategory PC With (NOLOCK) ON C.CategoryID = PC.CategoryID
JOIN @MyTable MT ON PC.ProductID=MT.ProductID
WHERE C.Published = 1
GROUP BY c.Name, c.SeName, c.CategoryID
ORDER BY c.Name
У меня тот же запрос выполняется на другом сайте, который работает отлично. Единственная разница между сайтами заключается в том, что они запускаются в разных базах данных, а на медленном сайте более чем вдвое больше продуктов (54000 продуктов) по сравнению с другими. Все три сайта и их базы данных размещены на одной машине.