2010-12-14 35 views
8

Esistono strumenti che eseguono le ottimizzazioni delle query per SQL Server 2005 e versioni successive?ci sono strumenti di ottimizzazione delle query per SQL Server?

Ho cercato & non ho trovato nulla.

Che cosa mi consiglia?

Se questa domanda è stata ripetuta prima di poter chiudere, ma non ho visto niente di simile

+2

Non si può avere visto il duplicato perché non ci sono questi strumenti - diverso da quello della mente umana, forse aiutato dal SQL Profiler, Ottimizzazione guidata indici, ecc. –

+0

Non scrivo SQL troppo, ma ottengo molto questa domanda, mi dispiace –

+0

Che dire di estendere la domanda ai libri che trattano l'argomento.Ho giocato un po 'con dta (assistente di sintonizzazione del database) e ho avuto la maggior parte del tempo per sentire cosa ora. –

risposta

25

Lo strumento migliore che abbia mai utilizzato per l'ottimizzazione delle query in MS SQL Server è di gran lunga l'opzione "Includi piano di esecuzione effettiva" in Microsoft SQL Server Management Studio. Visualizza informazioni dettagliate sul percorso di esecuzione eseguito dal server durante l'esecuzione della query. (Si noti che questo funziona meglio quando c'è dati nelle tabelle Naturalmente, senza un bel po 'di dati di test, alcuna ottimizzazione è puramente teorica comunque..)

E' fondamentalmente si dà tre cose molto importanti:

  1. Ti dice quali passi richiedono più tempo di elaborazione e cosa stanno facendo in quel momento.
  2. Indica quali passaggi portano il maggior numero di dati al passaggio successivo, incluso il numero di record, che consente di identificare i luoghi in cui è possibile essere più specifici sui dati desiderati ed escludere i record non necessari.
  3. Ti dà un ton di informazioni sul funzionamento interno di SQL Server e su cosa fa con le tue query. Questa conoscenza ti aiuterà a ottimizzare molto le cose nel tempo.
+0

Hai suggerimenti per l'ottimizzazione delle query in tutto il mondo? –

4

In SSMS - Strumenti | Ottimizzazione guidata motore di database - Non funziona sulle versioni Express.

+0

grazie per il suggerimento! –

2

Uno dei migliori ottimizzatori di query è semplicemente eseguire la query in SQL Management Studio e quindi ispezionare il piano di query. Questo ti darà indizi su quali indici è (o meno) usando e su come puoi cambiare la query per trarne vantaggio.

0

Come ha commentato John Saunders, lo strumento migliore a vostra disposizione è la vostra mente. Seguendo il commento di bernd_k, ecco alcuni suggerimenti per migliorare lo strumento.

+0

Non tentare di ignorare il tuo parere, ma sembra un po 'insipido consigliare per la sintonizzazione manuale quando si richiede specificamente uno strumento di regolazione automatica. È come chiedere una stampante laser e ottenere consigli per migliorare la calligrafia. Ho capito da un punto di vista personale, ma dal punto di vista del lavoro, ci si aspetta che i risultati siano rapidi. – user3285866

+0

Forse il suo punto è che non si possono ottenere risultati veloci. Allo stesso modo in cui non puoi ottenere uno strumento per scrivere la tua domanda per te. Ad un certo punto devi dedicare del tempo per imparare e capire il motivo per cui una query è lenta. Molti problemi di prestazioni richiedono la riscrittura della query o della stored procedure. Nessuno strumento lo farà per te. – NickG

3

Uno strumento molto buono e ora gratuito per utilizzare è Plan Explorer di Sen tryOne: https://sentryone.com/plan-explorer

(hanno anche molti altri software di ottimizzazione, come Azure specifico software, ecc)