For at køre SQL Server-databaser med succes skal du være opsat på forespørgselsdesign. Desværre tænker de fleste ikke over designprocessen. Som et resultat begår de simple fejl, som, selvom de er lette at undgå, har vidtrækkende konsekvenser.
For det første, med dårligt skrevne forespørgsler, kan du ikke garantere brugerne lynhurtige genfindingstider. Dine servere vil også være plaget af problemer fra dag ét. Og i nutidens digitale verden er det fejl, du ikke har råd til at begå. Men hvordan undgår du at begå disse fejl? Her er tips til, hvordan du gør det.
1. Undlader at gennemgå din datamodel
Din datamodel bestemmer, hvordan brugere får adgang til data. Så tænk over din model lige fra begyndelsen. Hvis du ikke gør det, bliver du nødt til at håndtere uhåndterlige forespørgsler og kompliceret kode ned ad linjen, og begge påvirker ydeevnen negativt. En nem måde at finde ud af, hvilke forespørgsler der er nødvendige for at få adgang til data, er at udskrive din datamodel.
Eller endnu bedre, få et datamodelleringsværktøj til at gøre det for dig. Et print- eller modelleringsværktøj giver dig mulighed for at se, hvad du er oppe imod. Du er derfor i en bedre position til at forenkle koden, øge kodningstiden, øge nøjagtigheden og forbedre ydeevnen.
2. Undlader at overveje din teknik
Hvilken teknik bruger du? Er det markørlogik eller sætbaseret logik? Der er ikke noget let svar på netop dette spørgsmål:det hele afhænger af den ydeevne, der passer bedst til dine behov. Tag sæt-baseret logik, for eksempel. Det er det oplagte valg til databaseadgang. En SQL Server er jo designet til det. Men markørlogik kan i nogle tilfælde overgå baseret logik. Nøglen er ikke at bruge én teknik, når den anden ville være bedre.
3. Bruger ikke gamle kodningsteknikker
Når du bruger afprøvede kodningsteknikker, lander du sjældent i problemer. Selv kodningsmetoder, du har lært fra SQL Server 2005, kan vise sig at være nyttige i dag. Prøv at bruge TRY…CATCH fejlhåndteringsteknikken i din kodning. Resultaterne kan overraske dig. Brug af Common Table Expressions til hierarkier eller Common Language Runtime-databasemotoren (CLR) kan også efterlade dig overrasket.
Hvis du har brug for hjælp til at opfriske gamle teknikker, så lav en revision og se efter nogle artikler online. Der er masser derude. Her og her er et par SQL-eksempler.
4. Udnytter ikke peer review
Før du implementerer dine forespørgselsplaner, bør du have en anden til at gennemgå dem. Chancerne er, at andre mennesker vil se, hvad du er gået glip af. Deres anmeldelser af dine indekser og forespørgselsydeevne hjælper dig ofte med at forbedre din kode yderligere. De kunne også lære en ting eller to af dig i processen, og omvendt.
5. Kan ikke teste dine forespørgsler
Udviklere hader at skulle teste kode. For det første er det strengt. Og for det andet matcher testmiljøet (hardware og data) sjældent det rigtige produktionsmiljø. Men test er en nødvendig og uundgåelig del af kodning. Så test din kode grundigt, og prøv, hvor det er muligt, at efterligne det endelige produktionsmiljø så tæt som muligt. Husk, at dine forespørgsler kan klare sig godt med et par hundrede poster, men ikke mod millioner i det endelige miljø.
Konklusion
Forespørgsler bestemmer hastigheden og ydeevnen af en SQL-database. Så prøv at undgå almindelige fejl, såsom ikke at gennemgå din datamodel eller undlade at overveje, hvilken teknik du skal bruge. Andre undlader at bruge gamle kodningsteknikker, udnytter ikke peer review-mekanismer og undlader at teste dine forespørgsler.