Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vy för att förbättra prestanda?

Postades av 2008-07-10 15:37:23 - Stefan Sunnerheim, i forum sql-server/msde, Tråden har 3 Kommentarer och lästs av 1526 personer

Tjena!

Tänk er följande scenario.

Vi har ett ordersystem som i botten har en sql server 2005 databas med ett antal tabeller.
Strukturen innehåller flera 1 miljoner ordrar.

1 tabell sparar vilka betalsätt som använts på ordern enligt:

OrderId | Betalningstyp | Belopp
1234 | 1 | 324.50
1234 | 2 | 10.30
1256 | 2 | 89.00

Jag vill på ett snabbt sätt plocka ut försäljning/betalsätt så att resultatet blir enligt:

Betalningstyp | Belopp
1 | 324.50
2 | 99.30

Detta blir en ganska tung fråga om man bara skriver en sql typ:
SELECT betalningstyp, Sum(belopp) from orderbetaltyp
GROUP BY betalningstyp

Skulle det var en bra idé att skapa en vy i det givna secenariot som man sedan ställer frågor emot?

Det tillkommer flera ordrar varje sekund.


Svara

Sv: Vy för att förbättra prestanda?

Postades av 2008-07-10 22:22:33 - Niklas Jansson

Nu har jag inte faktisk erfarenhet av det upplägget och vad det innebär, men med tanke på:
<b>>Det tillkommer flera ordrar varje sekund.</b>

Så kan man ju resonera lite kring detta. Vad en vy potentiellt kan göra är ju att räkna ut och hålla information i minnet, utan att behöva räknas om vid varje anrop. Det kräver dock att den alltid är up-to-date när man anropar den. Det kan ske på två sätt (eller hybrider):
1. Antingen så håller en vy som kollar i tabell A reda på om det sker förändringar i A. Så fort det görs det triggas en uppdatering av vyn. Det innebär i så fall att din vy räknas om flera gånger per sekund, det känns enbart sämre.
2. Eller så håller vyn reda på om ändringar görs i A, och om det har hunnit ske någon förändring när väl vyn anropas så räknas den ut. Det innebär att du i praktiken får samma beteende som utan en vy.

Jag skulle nog spontant säga att om vyn används mer sällan än uppdateringar av den kommer den inte ge den typen av prestandavinster du är ute efter. Men jag kan ha fel.


Svara

Sv:Vy för att förbättra prestanda?

Postades av 2008-07-11 06:35:24 - Stefan Sunnerheim

Tack för svaret!
Det var nog som jag misstänkte.
Läsningarna mot vyn skulle i detta fall ske betydligt mer sällan än uppdateringarna.


Svara

Sv: Vy för att förbättra prestanda?

Postades av 2008-07-11 19:27:59 - Ola Hallengren

Det är alltså en indexerad vy som det handlar om i det första scenariet och en normal vy i det andra scenariet.

En sak som du också skulle kunna testa är ett covering index på tabellen (med included columns).

Ola Hallengren
http://ola.hallengren.com


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 764
27 959
271 761
621
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies