Domanda

Qual è il miglior modo pratico di apprendere la regolazione dell'indice durante la scrittura di query tsql? Ho VS2008 SQL Express. Qualcuno potrebbe fornirmi esempi, ecc.? Ho già trovato articoli online e sono fantastici in teoria, ma non riesco ancora a vedere il tuning dell'indice nell'azione della vita reale. Ci sono piccoli esempi facili da creare là fuori?

È stato utile?

Soluzione

Per ottimizzare gli indici, tendi ad aver bisogno di tabelle di grandi dimensioni con molti dati, quindi piccoli semplici esempi non sono facili da trovare.

La mia esperienza è con gli strumenti di SQL 2000. Query Analyzer, che mostra il piano di esecuzione e osserva i tipi di indice e join utilizzati. Molto difficile descriverlo qui.

Posso consigliare un buon libro sull'argomento, in particolare il capitolo 9.

http://www.amazon.com/Professional-Server-Performance-Tuning- programmatore / dp / 0470176393

Vorrei scoraggiarti dall'utilizzare gli strumenti automatizzati di ottimizzazione dell'indice fino a quando non capisci come farlo manualmente. Penso che sia importante quando si consiglia di aggiungere un indice che si ha la capacità di controllare la sanità mentale e di decidere se è una buona opzione. Spesso ti consigliamo di aggiungere una "copertura" indice con molte colonne per velocizzare una singola query che hai chiesto di analizzare, ma ciò potrebbe avere effetti negativi sul tuo database in generale quando guardi tutte le query su quella tabella.

Altri suggerimenti

Kimberly Trip (SQL Goddess) è un esperto e ha parlato & amp; lotti scritti sull'argomento:

http://www.sqlskills.com/BLOGS/KIMBERLY/category /Indexes.aspx

Se si dispone dell'edizione per sviluppatori SQL, si desidera dare un'occhiata al consulente per l'ottimizzazione del motore di database.

Se si utilizza il profiler per acquisire un carico di lavoro standard sul proprio database, il DETA può consigliare quali statistiche e indici si potrebbero applicare.

Attenzione, tuttavia, che l'ottimizzazione richiede una buona dose di pensiero, poiché l'aggiunta di nuovi indici può aumentare la velocità del carico di lavoro, ma è possibile aumentare la velocità di una query non importante a discapito di una molto importante.

Esiste un buon libro sull'interrogazione TSQL che contiene alcuni ottimi consigli su come funzionano le interrogazioni e su come guardarle sintonizzandole, che è specifico per MSSQL.

In SQL Server, se lo schema del database è più semplice, non è necessario ottimizzare molto, poiché le chiavi primarie generano automaticamente un indice cluster e i vincoli di chiave esterna richiedono un indice univoco. Quindi i tuoi iscritti vengono curati, di solito.

Dove è complicato è con ricerche e filtri che usano le query nell'applicazione. Dovrai esaminare in modo specifico queste domande e identificare i candidati per ulteriori indici.

Un'altra opzione è SQL Server Tuning Advisor, ma scoraggio il suo utilizzo, perché genera così tanto rumore. Tuttavia, puoi utilizzarlo per trovare le query più dannose.

Per un punto di partenza per identificare le tue query con le prestazioni peggiori, consulta la mia risposta qui .

Imparare a sintonizzare è qualcosa che richiede pratica. Se vuoi diventare esperto, inizia acquistando il libro di Sajal Dam Ottimizzazione delle prestazioni di SQL Server Query distillata

Il Manuale di ottimizzazione delle prestazioni e di Microsoft SQL Server 2000 è un classico. (Le recensioni di Amazon affermano che la versione 2005 di questo libro non è altrettanto buona)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top