Immaginiamo questo scenario :
DBTarget è un DB OLAP che contiene una tabella TargetTable ed è utilizzato per effettuare Business Intelligence
DBSource è il DB OLTP che contiene una tabella SourceTable ed è utilizzato dai programmi aziendali di gestione.
Abbiamo la necessità di allineare il contenuto di TargetTable con quello di SourceTable utilizzando T-SQL.
Visualizzazione post con etichetta Performance tuning. Mostra tutti i post
Visualizzazione post con etichetta Performance tuning. Mostra tutti i post
domenica 22 settembre 2013
T-SQL e caricamento dati differenziale..... E le performance ?
sabato 14 settembre 2013
Script Rebuild o Reoganize ?
E' sempre necessario fare la rebuild di un indice o posso farne la reorganize ?
Per dirla in modo estrememente sintetico e semplificato, la Rebuild è molto efficiente ma pesante , la Reorganize meno efficace ma più leggera...
Per dirla in modo estrememente sintetico e semplificato, la Rebuild è molto efficiente ma pesante , la Reorganize meno efficace ma più leggera...
domenica 21 luglio 2013
SQL Server 2014 CTP1 : Buffer Pool Extension
Le attività di read & write da e per i dischi sono le più pesanti che un RDBMS deve sostenere.
La Buffer Pool Extension di SQL 2014 alleggerisce il carico di I/O mantenendo elevato il throughput dei dischi.
La Buffer Pool Extension di SQL 2014 alleggerisce il carico di I/O mantenendo elevato il throughput dei dischi.
martedì 5 marzo 2013
Sql Server 2012 : Extended Events. Cosa Sono ?
RIP SQL server Profiler.. !?!?!?!?!?!?!?! Eh ?!?!?!?! Ma come !?!?!?!??!
Ebbene si, dopo anni di onoratissimo servizio anche per Sql Server Profiler è giunta l'ora della meritata pensione...
Ma chi lo sostituirà !?!?! Gli Extended Events !!!
Gli Extended Events sono stati introdotti sin dall'edizione 2008 ma il loro utilizzo era un tantino macchinoso dato che nel Management studio 2008 non era presente nessun tool di configurazione e a meno che non si installasse questo Addin la configurazione doveva essere implementata via T-SQL.
Ebbene si, dopo anni di onoratissimo servizio anche per Sql Server Profiler è giunta l'ora della meritata pensione...
Ma chi lo sostituirà !?!?! Gli Extended Events !!!
Gli Extended Events sono stati introdotti sin dall'edizione 2008 ma il loro utilizzo era un tantino macchinoso dato che nel Management studio 2008 non era presente nessun tool di configurazione e a meno che non si installasse questo Addin la configurazione doveva essere implementata via T-SQL.
Etichette:
DeadLock Monitoring,
Extended Events,
Performance tuning,
Troubleshooting
giovedì 7 febbraio 2013
SQL 2012, IN_ROW_DATA, ROW_OVERFLOW_DATA, LOB_DATA.... e le performace?
Nel post Data Type e performance abbiamo visto che la scelta del tipo di dato è fondamentale per ottenere un Db performante.
Per i tipi dato con lunghezza a discrezione dell'utente, come per esempio i varchar, varbinary etc... è necessaria una maggiore attenzione.
I dati sono allocati in Data Pages dalla dimensione di 8K, quindi, in teoria, la lunghezza massima di un record inseribile in una data page è di 8kb (Per la precisione, tolti alcuni byte di sistema, a noi ne restano disponibili 8060).
Ma cosa accade se la somma delle dimensioni dei campi contenuti in una tabella supera la soglia fatidica ?
Per i tipi dato con lunghezza a discrezione dell'utente, come per esempio i varchar, varbinary etc... è necessaria una maggiore attenzione.
I dati sono allocati in Data Pages dalla dimensione di 8K, quindi, in teoria, la lunghezza massima di un record inseribile in una data page è di 8kb (Per la precisione, tolti alcuni byte di sistema, a noi ne restano disponibili 8060).
Ma cosa accade se la somma delle dimensioni dei campi contenuti in una tabella supera la soglia fatidica ?
Etichette:
Data Pages,
Execution Plan,
Performance tuning
giovedì 6 dicembre 2012
SQL Server 2012 : Configurare il Resource Governor
Il Resource Governor è stato introdotto dall'edizione di SQL 2008, ma non mi pare sia molto utilizzato..... In poche parole vi consente di definire il limite di utilizzo della cpu e della memoria per i login e le applicazioni che si connettono a SQL server.
Etichette:
Performance tuning,
Sql Server 2008,
SQL Server 2012
domenica 25 novembre 2012
SQL Server 2012: Column Store Index & Query Performance
Una delle novità di SQL Server 2012 è quella dei ColumnStore Index.
Come dice il nome, questo nuovo tipo di indici, invece di contenere righe, contiene i valori delle colonne. Ogni colonna compresa nell'indice ha una propria struttura di allocazione che consente al DB di implementare operazioni di raggruppamento in modo molto più efficiente rispetto agli indici tradizionali.
Come dice il nome, questo nuovo tipo di indici, invece di contenere righe, contiene i valori delle colonne. Ogni colonna compresa nell'indice ha una propria struttura di allocazione che consente al DB di implementare operazioni di raggruppamento in modo molto più efficiente rispetto agli indici tradizionali.
Etichette:
Business Intelligence,
Execution Plan,
Performance tuning,
SQL Server 2012
mercoledì 8 agosto 2012
Tabelle partizionate, indici, ricerche e manutenzione...
Gli indici partizionati/allineati sono estremamente utili quando dobbiamo fare ricerche nei dati di tabelle partizionate ma potrebbero essere un collo di bottiglia per le performance quando non sono creati correttamente. Qui un breve post sulla struttura degli indici in tabelle partizionate.
Etichette:
Performance tuning,
Sql Server 2008,
Sql Server 2008 R2,
SQL Server 2012
venerdì 27 luglio 2012
SQL Server 2012: Piano d'esecuzione non ottimale
Perchè una query apparentemente ottimizzata non dovrebbe rivelarsi tale? Perchè il query optimizer, che dovrebbe sempre trovare la strada migliore per evadere le nostre query, dovrebbe scegliere un piano d'esecuzione non ottimale se non scadente?
lunedì 12 marzo 2012
Come Transaction Log Growth e Virtual Logs impattano sulle Performance ?
Il Transaction Log è un file che molto spesso, quando si pensa alle performance, viene messo nel dimenticatoio.
Se riuscissimo a "gestire" il T-Log in modo ottimale, ed è possibile, potremmo migliorare senza alcuno sforzo le performance del nostro DB.
Se riuscissimo a "gestire" il T-Log in modo ottimale, ed è possibile, potremmo migliorare senza alcuno sforzo le performance del nostro DB.
mercoledì 22 febbraio 2012
Data Type e performance
La scelta del tipo di dato per le colonne delle tabelle nei database è fondamentale per avere delle performance sempre all'altezza delle aspettative degli utenti.
Sottovalutare questo aspetto potrebbe avere conseguenze nefaste per le nostre applicazioni che reperiscono i dati grazie a SQL server.
Ogni tipo di dato, sia a lunghezza fissa che a lunghezza variabile, ha una propria allocazione in termini di byte scritti sul disco.
Le righe contenute nelle nostre tabelle vengono archiviate in strutture di 8K chiamate data page ed ogni riga ( salvo casi particolari ) dovrà essere contenuta interamente in una singola data page.
La quantità di righe che riusciamo a contenere in una singola data page determina il numero di data page che costituiranno la nostra tabella.
All'aumentare delle data page aumenteranno le operazioni di I/O per evadere le nostre richieste e di conseguenza potrebbero calare drasticamente le performance....
Sottovalutare questo aspetto potrebbe avere conseguenze nefaste per le nostre applicazioni che reperiscono i dati grazie a SQL server.
Ogni tipo di dato, sia a lunghezza fissa che a lunghezza variabile, ha una propria allocazione in termini di byte scritti sul disco.
Le righe contenute nelle nostre tabelle vengono archiviate in strutture di 8K chiamate data page ed ogni riga ( salvo casi particolari ) dovrà essere contenuta interamente in una singola data page.
La quantità di righe che riusciamo a contenere in una singola data page determina il numero di data page che costituiranno la nostra tabella.
All'aumentare delle data page aumenteranno le operazioni di I/O per evadere le nostre richieste e di conseguenza potrebbero calare drasticamente le performance....
sabato 18 febbraio 2012
Impatto del Page Split dei livelli intermedi sulle prestazioni
Cosa è il page split ? E' un meccanismo di sincronizzazione grazie al quale SQL Server mantiene aggiornato il contenuto dei nostri indici con quanto è realmente contenuto nella tabella. Per fortuna esiste, ma se si verifica troppo frequentemente potrebbe mettere a dura prova le performance del nostro DB.
Perchè si verifica ?
Perchè si verifica ?
Iscriviti a:
Post (Atom)