Performance issues ved +5 mio rows
Hej Eksperter,Jeg har en Database tabel som indholder +5 mio. produkter og hvis jeg f.eks vil hente dem ud i ahphabetisk række følge tager det over 50 sek hvis jeg bruger en query som denne:
DECLARE @rowsperpage INT
DECLARE @start INT
SET @start = 0
SET @rowsperpage = 50
SELECT * FROM
(
SELECT row_number() OVER ( ORDER BY ProductName DESC) AS rownum, Id, CallId, ProductName
FROM products ) AS A
WHERE A.rownum BETWEEN (@start) AND (@start + @rowsperpage)
men hvis jeg ændre "ORDER BY productName" til i stedet for at bruge 'ORDER BY Id' hvor Id er primary key så tager det samme kald 31 ms hvordan kan det være og hvordan kan jeg optimere databasen/tabelen til at kunne reager lige så hurtigt på de andre felter.
Det skal lige siges at jeg ikke er specielt stærk i database strukture