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 / Artiklar / Titel på artikeln

SQL Server Kvantitetsprestandaanalys #1

Postad 2002-11-17 av Susanne Hayat i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 3302, Betyg: 60%

Förord

SQL Serverns kostnadsformler för exekveringsplaner, samt den egentliga kostnaden för grundläggande SQL operationer, är utforskade. Tillsammans med statistik så kan man med planens kostnadsformler avgöra vilken som är den bästa exekveringsplanen. Vilken exekveringsplan är inte bara baserat på Indexen, utan även på mängden och distributionen av data. På grund av det så kan en exekveringsplan från en produktionsmiljö skilja sig lite från en oanvänd databas. Genom att veta kostnaden för en plan så kan man förutse den använda databasens exekveringsplan. Och med de egentliga kostandsformlerna så kan man förutse prestandan från en databasapplikation som baseras på schemat, SQL-satser samt den förväntade datadistributionen.
Innehåll
  » Förord
  » Målgrupp
  » Framåt
Relaterade artiklar
  » SQL Server Kvantitetsprestandaanalys #2
  » SQL Server Kvantitetsprestandaanalys #3
  » SQL Server Kvantitetsprestandaanalys #4
  » SQL Server Kvantitetsprestandaanalys #5

SQL Server Kvantitetsprestandaanalys #1


av Joe Chang


Förord

Den här artikelserien är fortfarande under produktion. Läsarna är tillåtna att skicka frågor och kommentarer till författaren Joe Chang. Vetenskapsnivån på dessa artiklar är relativt avancerade. Läsarna bör vara familjära med Transact-SQL, tabell- och Indexstrukturer, SQL-satslösningar, SQL Server funktioner och verktyg, samt SQL Server Internals från de tekniska artiklarna på MSDNs hemsida, Kalen Delaney’s ”Inuti SQL Server 2000”, samt andra källor.


Målgrupp

Den här artikelserien är avsedd för databasarkitekter samt utvecklare, som måste kunna förutse en applikations prestanda i ett tidigt stadie av utvecklingen. På så sätt så kan de möta kraven från prestanda genom att minimera senare omstruktureringar och omskrivningar. De metoder man tillgår för att optimera prestanda är enligt standard vanligast då databasens produktionsmiljö är åtkomligt. Men informationen här kan också vara användbart för databasadministratörer som har särskilt ovanliga prestandaproblem, vilka motstår hårda tag med hårdvaran eller konventionella Indexoptimeringar.


Framåt

Syftet med den här artikelserien är att etablera en kvantitetssmodell, vilken kan användas till att förutse SQL Serverns prestanda. Varje applikation kan karaktäriseras av en grupp SQL-satser, och varje sats kan ha en eller flera möjliga exekveringsplaner. En exekveringsplan består av komponentoperationer och kostnaden för varje komponentoperation beror ett antal faktorer, inklusive hur många poster som är involverade. Din Query Optimizer väljer den exekveringsplan som ”kostar” mindre eller den som har den snabbaste exekveringstiden, beroende på hur många poster som den har uppskattat samt kostnadsstrukturen för komponentoperationerna.

Gruppen med de karaktäristiska satserna kommer från applikationen samt dess användning. Så en kvantitetsprestandamodell börjar med insikten om hur den optimala exekveringsplanen väljs ut. De kostformler som finns i SQL Serverns exekveringsplan kommer att diskuteras närmare lite senare i artikelserien. Exekveringsplanens kostformler representerar inte alltid den egentliga kostnaden för satsen, utan den egentliga kostnaden för grundläggande satser måste istället mätas. Dessutom adresseras de förväntade behoven från processorn och plattformen.

En undersökning av den aktuella uppmätta kostnaden av grundläggande SQL-satser visar var sats- och låsningslösningar ska sättas in för att tjäna lite prestanda i både Merge och Hash Joins. De mer konsekventa implikationerna gällande databasarkitekturen, tabellstrukturen, SQL-satserna samt Indexen, är att de måste skapas tillsammans och inte var för sig.

Fokusen i den artikelserien ligger i kvantitetsanalyser istället för sådana som är kvalitativa eller naturligt beskrivna. Det här kräver ett enormt användande av data och formler, och det är ingen lätt uppgift att förfoga över så mycket information. Fördelarna med att använda kvantitetsmodeller är att vi från exekveringsplanen och posträkningen kan se vilka SQL-satser som troligast kommer att orsaka prestandaproblem, istället för att se det genom enbart intensiva tester.

Så här långt så har prestanda- och kostnadsmätningarna utförts på endast en typ av SQL-sats i taget. Det finns ingen garanti på att dessa resultat kan utökas till produktionsmiljöer där många SQL-satser körs simultant. De resultat som hittills har samlats ihop anses dock fortfarande vara tillräckligt användbara. Man kan argumentera om hur det kaotiska i en produktionsmiljö gör det svårt att förutse prestanda. Som tur är så bör inte en företagssituation med ett enormt databasprojekt tänka på på huruvida prestandan kommer att bli 1 000 SQL-satser i sekunden eller 990 per sekund, men det kan hänga på skillnaden mellan 1 000 och 100. Även en ordning av konsekvensuppskattning gör kvantitetsmodellen användbar. Någon information är bättre än ingen information fram tills utvecklarfonden är spenderad.



Artikelserien kommer att fortsätta med följande artiklar:

1. Introduktion
    Tjänster, verktyg och script som hjälper dig granska kostnaden av en exekveringsplan.

2. Kostnader av SQL Server exekveringsplan
    Kostformler som används av SQL Server för att granska kostnaden för en SQL-sats. Del I: Indexsökningar, Bookmark Lookup, Tabellscans. Del II: Loop, Hash och Mere JOINs. Del III: INSERT, UPDATE och DELETE.

3. Definitioner och övningar av mätningar
    Kostnadsdefinitioner, processor- och plattformsbehov, villkor för körtid (Runtime), testprogram och script för datapopulation.

4. Kostnader för SELECT satser
    De uppmätta kostnaderna för grundläggande SELECT satser på en Pentium III, Pentium III Xeon och (Pentium IV) Xeon Serverplattform.

5. Kostnader för INSERT-, UPDATE- och DELETE-satser (ännu ej tillgänglig)
    Uppmätta kostnader för grundläggande INSERT-, UPDATE- och DELETE-satser på Serverplattformer i jämförelse med exekveringsplansformelns kostnader.

6. Prestandakalkyleringar (ännu ej tillgänglig)
    En kort diskussion om hu man kalkylerar databasprestandan.

7. Blandade teman (ännu ej tillgänglig)
    Användbara ting som inte har passat inte i helheten av något annat.

8. Databasarkitektur och designstrategier (ännu ej tillgänglig)
    Innebörden från exekveringsplanens kostnadsformler, statistik och den faktiska kostnaden för SQL-satser på databasarkitektur och design, samt Indexoptimering och SQL-sats hints.


Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

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 866
27 962
271 767
445
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