AW: 975: Performance Einkaufsliste
Probleme machen bei uns die Lieferartikel () Haben sehr viele davon. Lieferanten bearbeiten ist nicht benutzbar. Hier dauert folgendes SQL so lange:
WITH OuterResult AS
(
SELECT TOP 100 PERCENT Einkaufsliste.lvEinkaufsliste.kArtikel, Einkaufsliste.lvEinkaufsliste.kSteuerklasse, Einkaufsliste.lvEinkaufsliste.kLieferant, Einkaufsliste.lvEinkaufsliste.Hinweis, Einkaufsliste.lvEinkaufsliste.cLiefArtNr, Einkaufsliste.lvEinkaufsliste.cNameBeimLieferanten, cArtNr, cName, fAnzahl, AufEinkaufslisteGesetzt, LieferantName, fEKNettoAktuell, cWaehrungISO, LiefBestand, Lieferzeit, fFehlbestand, fVerfuegbar, nMindestbestand, fZulauf, kLieferantStd, kLieferantSchnellster, kLieferantGuenstigster
FROM Einkaufsliste.lvEinkaufsliste
LEFT JOIN
(
SELECT dbo.tliefartikel.tLieferant_kLieferant, dbo.tliefartikel.tArtikel_kArtikel
FROM dbo.tliefartikel
) AS liefartikel ON Einkaufsliste.lvEinkaufsliste.kArtikel = liefartikel.tArtikel_kArtikel
WHERE 1=1
GROUP BY Einkaufsliste.lvEinkaufsliste.kArtikel, Einkaufsliste.lvEinkaufsliste.kSteuerklasse, Einkaufsliste.lvEinkaufsliste.kLieferant, Einkaufsliste.lvEinkaufsliste.Hinweis, Einkaufsliste.lvEinkaufsliste.cLiefArtNr, Einkaufsliste.lvEinkaufsliste.cNameBeimLieferanten, cArtNr, cName, fAnzahl, AufEinkaufslisteGesetzt, LieferantName, fEKNettoAktuell, cWaehrungISO, LiefBestand, Lieferzeit, fFehlbestand, fVerfuegbar, nMindestbestand, fZulauf, kLieferantStd, kLieferantSchnellster, kLieferantGuenstigster
),
Result2 AS
(
SELECT *, row_number() OVER (ORDER BY cArtNr ASC) AS rownum FROM OuterResult
)
SELECT * FROM Result2 WHERE rownum >= 4 AND rownum <= ( 4 + 120 )