Cambiamento epocale nella gestione delle statistiche

Salve a tutti, L’argomento di oggi ha, per chi lavora con SQL Server da molti anni, un significato particolare perché va ad impattare uno degli aspetti più granitici ed immutabili nel tempo, sai che è così da (n) versioni e (m) anni, con tutti i problemi del caso, ed un bel giorno Ti svegli ed…

0

Come esportare il contenuto di una istanza di Reporting Services

Migrare reporting services e’ una operazione ben documentata. Oggi vedremo come, con poche righe di codice, sia possibile esportare una istanza di reporting services su file system. Non entrero’ nel dettaglio di come collegarsi e utilizzare il web service di reporting services (per dettagli vedere qui: http://msdn.microsoft.com/en-us/library/bb522713.aspx). Mi limitero’ a utilizzare questi due metodi che…

1

Statistiche & FULLSCAN

Le statistiche sono importanti. SQL Server, se opportunamente configurato, crea e manutiene le statistiche automaticamente. Questo bellissimo articolo tratta in maniera esaustiva le statistiche: MSDN: Statistics Used by the Query Optimizer in Microsoft SQL Server 2008. Ma come fare ad identificare le statistiche sottocampionate? Potete provare con questo script che analizza tutti i DB di una…

0

Uno sguardo nello schema di ShowPlanXML: come individuare i table scans con XPath

Recentemente un cliente mi ha posto questa domanda: “come posso identificare le query ad-hoc che effettuano table scan?” La risposta e’ semplice e consiste nel guardare il piano di esecuzione. Per esempio questa query: SELECT * FROM charge; GO Effettuata su una tabella heap senza indici risulta in un table scan, come si puo’ vedere…

0

La fiducia delle constraints e come questo puo’ impattare i vostri piani d’esecuzione

Tutti noi sappiamo che i constraint sono un ottimo modo per assicurarci l’aderenza del nostro schema alle business rules. Quello che e’ meno noto e’ che SQL Server, dietro le quinte, utilizza i nostri constraints durante la scelta del piano d’esecuzione ottimale. Per vederlo all’opera creiamo tre tabelle con i relativi constaints: CREATE DATABASE Demo;…

0