Indekser på temp table og temp variables

Fra SQL Server 2014 kan du legge på egne indekser også på temp varibles (@MyTempVarTable) tables, det kan gi vesentlig bedre query plans og raskere spørringer!

Du er sikkert klar over at temp tabeller kan godgjøre seg av riktige indekser, men ikke alle som skrver T-SQL vet at det i SQL Server 2014 også kan legges indekser på temp variable tables.

Best er som alltid å teste i et testmiljø, for eksempel ved å skru på SET STATISTICS IO ON i query analyzer. Sjekk pages read (and written), lavere er bedre, men sjekk også Time Elapsed ved å sette; SET STATISTICS TIME ON

Bruker du In Line TVFs?

Om du bruker In Line Table Valued Functions (TVFs) så vet du kanskje at Multi Statement TVFs kan gi dårlig ytelse, spesielt for større dataset?

Ikke alle TVFs er like, vi anbefaler å skrive nye TVFs som In Line, det vil si at de ikke returnerer en tabell som har blitt definert (som en temp variable av typen table) men heller bruker en SELECT som direkte gir resultatet.

En fordel er at både JOIN og APPLY vil kunne gå mye raskere med In Line TVFs, så bare å prøve å måle seg frem til bedre ytelse!

SQL Server 2016

Første kundene har allerede tatt i bruk SQL Server 2016 Enterprise Edition, det som er overraskende er at SQL Server 2016 bruker rundt halvparten av CPU (%) som SQL Server 2014 på samme hardware! Dette vil naturligivis kunne variere fra case til case, men vi og kunden var imponerte!

Både databaseutviklere og databaseadministatorer har noe å se frem til, sikkert vil SQLDBA også tilby nye kurs for SQL Server 2016.

Hold deg oppdatert på SQL Server 2016 gjenom hele 2016 på våre sider på www.sqldba.no

Database og IT sikkerhet, kryptering, SQL Server forensics og auditing

Våre konsulenter har gått igjenom Certified Ethical Hacker kurs i 2016 og kan gi dere verdifulle innspill, spesielt med tanke på SQL Injections, minimal surface oppsett og hardening (Payment Card Industry Data Security Standard (PCI DSS) ) av SQL Server.

IT-sikkerhets analyse av databaser og tilhørende infrastruktur. Komplett med risikomatrise og konkrete anbefalinger til SQL Server sikkerhetsoppsett, SQL injection testing, nettverk og domene oppsett for SQL Server.

Sertifisert SQL Server DBA for oppdrag i Oslo, Bergen, Trondheim

Går dine rapporter tregt eller klager brukerne på heng situasjoner? Ikke nøl! Ring 95007355 og spør om performance tuning!

Vi utfører avansert troubleshooting av SQL Server og støtter våre kunder ved å sørge for en optimal databasekonfigurasjon i henhold til de kravene som stilles på database responstider.

Vi feilsøker blant annet query plans, locking, blocking, deadlocks, disk IO, nettverk, time outs, lang prosesseringstid og forsinkede rapporter.

Databaseutviklere i Oslo på Microsoft SQL Server

Vi har lang erfaring fra databaseutvikling, nyutvikling og ytelsesoptimalisering av databaser og T-SQL i Stored Procedures, User Defined Functions og Views. Utvikling og testing av ETL pakker med eller uten SSIS kan vi også levere etter nærmere avtale.

Konvertering av databaser fra Oracle, MySQL eller Access er en velkjent problemstilling der www.sqldba.no kan hjelpe dere.

Migrering til SQL Server 2014 eller 2016 hjelper vi også til med.

Migrering av Oracle databaser til SQL Server eller Azure

Microsoft SQL Server Migration Assistant er et verktøy for migrering av eksisterende databaser til SQL Server eller Azure.

Erfaringen tilsier at det kan oppstå problemer ved bruk av Oracle triggere og noen datatyper kan kreve en ekstra innsats.

Noter at IMAGE og NTEXT datatyper ikke vil støttes i fremtiden og se på alternativer slik som VARBINARY eller NVARCHAR.

How to fix a corrupt index in SQL Server

Note: This article mainly concerns non-clustered indexes that have been corrupted e.g. broken as a result of a failing disk or disk subsystem. This failure might not be identical to other failures!
IMPORTANT: This is not advice on how to save a corrupt database! Always ensure you have functional recent backups, a complete backup chain and a proven recovery routine! Never use the option REPAIR_ALLOW_DATA_LOSS unless you are willing to loose data and database integrity!

Index hint og update statistics

Alle vet at en vel valgt indeks kan gjøre underverk for en relasjons database. Men noen ganger så bruker ikke query optimizer de indekser som finnes på tross av at de er riktige i henhold til ytelse på SQL spørringen som går tregt.

Da kan det være lurt å gjøre to ting;

1. Forsikre seg om at indeks statistikker er oppdatert for databasen eller tabellen / view som har indeksen som ikke blir bruk.

Dette eksemplet oppdaterer statistikker for alle indekser som finnes på et objekt (table eller view).

USE MyDatabase;
GO

Filtered indexes

En feature som ikke er så mye brukt som den kanskje burde. Den blev introdusert av Microsoft i SQL Server 2008.

Du kan tenke på en filtered index som en helt vanlig index med en WHERE betingelse.

Her er et eksempel på en indeks som kan gi raskere svar i en bokhandel sin web shop når noen leter etter en påske krim:

CREATE NONCLUSTERED INDEX IX_Crime_books
ON Books (Title)
WHERE Book_type = 'Crime'

Sider

Subscribe to www.sqldba.no RSS