Vi har fått lite prestanda problem på en databas som fungerade ypperligt med 10.000 rader, men med 150.000 rader så tar exekveringen alldeles för lång tid, upp till 10 sekunder beroende på urval.
Kan man cacha en view? Idag har jag två SPs som i den ena gör en sökning, och i den andra en uträkning på antal som finns kvar i varje kategori där jag countar på selectsatsen.
Säg t.ex. att jag har en lägenhetssida där jag söker på "Stockholm", då hämtar den alla rader tillhörande "stockholm", sedan ska den även räkna ut hur många bostadsrätter, fritidshus osv. om jag filtrerar på detta? Sedan är det en hel del andra filtreringar, ca 10st.
Som sagt, har en fungerande SQL, men måste lösa prestandan på ett bra sätt. Indexering via Engine Tuning har inte löst problemet märkvärt!
Är det någon som har en bra ide om hur man kan få upp prestandan?
Du kan du kan ju testa att indexera vyn för att få upp läs prestandan.
om inte annat så kan det vara värt att kolla över vilka index som finns tabellerna.
Varje index du lägger till kan öka läsprestandan (om man gör rätt) medens skrivprestandan blir lidande.
Använder du SQL sever 2005 eller nyare kan du ju köra sql frågan management studio och välja att inkludera query planen för att på så sätt se exakt hur frågan hanterades samt identifiera flaskhalsar.
SQL server 2008 har ju även ett verktyg som heter "tuning advisor", har inte testat det själv men det ska klara av att föreslå lämpliga index och eventuellt lämplig partitionering.