Utilizzo di Ottimizzazione guidata motore di database per l'analisi esplorativa
Per eseguire l'analisi esplorativa, gli amministratori del database possono utilizzare Ottimizzazione guidata motore di database. L'analisi esplorativa implica operazioni di ottimizzazione sia manuali che guidate tramite l'utilizzo di strumenti. Utilizzare la funzionalità di configurazione specificata dall'utente per eseguire l'analisi esplorativa con Ottimizzazione guidata motore di database. Tale funzionalità consente di specificare le configurazioni di ottimizzazione di strutture di progettazione fisica esistenti e ipotetiche, quali indici, viste indicizzate e partizionamento. Le strutture ipotetiche presentano un indubbio vantaggio: consentono infatti di valutarne gli effetti sui database evitando l'overhead associato all'implementazione delle strutture stesse.
L'analisi esplorativa è supportata sia nell'interfaccia utente grafica (GUI) di Ottimizzazione guidata motore di database che nell'utilità della riga di comando dta, tuttavia quest'ultima fornisce una maggior flessibilità perché consente di utilizzare un file di input XML. Il file di input XML utilizza lo schema XML di Ottimizzazione guidata motore di database, ovvero uno schema pubblicato che è possibile scaricare dalla pagina Schema di Ottimizzazione guidata motore di database.
Nella pagina corrispondente a questo URL scorrere verso il basso le righe della tabella fino a individuare il collegamento relativo allo schema di Ottimizzazione guidata motore di database. L'URL esatto di questo schema è riportato nella colonna adiacente. Lo schema XML supporta la specifica di configurazioni ipotetiche di analisi valutate in isolamento oppure di configurazioni ipotetiche valutate in relazione alla configurazione corrente. L'interfaccia utente grafica di Ottimizzazione guidata motore di database supporta invece solo la valutazione completa di un subset di strutture restituite da un'indicazione generata da Ottimizzazione guidata motore di database.
Modalità di analisi esplorativa
Per eseguire l'analisi esplorativa, è possibile scegliere una delle due modalità seguenti in Ottimizzazione guidata motore di database:
Modalità di valutazione
In modalità di valutazione Ottimizzazione guidata motore di database confronta il costo della configurazione corrente (C) con quello di una configurazione specificata dall'utente (U) per lo stesso carico di lavoro. C corrisponde sempre a una configurazione reale perché include strutture di progettazione fisica attualmente esistenti nel database. U è invece una configurazione costituita da strutture di progettazione fisica reali e ipotetiche. Se Ottimizzazione guidata motore di database segnala che il costo di U è inferiore a quello di C, è probabile che le prestazioni della struttura fisica di U saranno superiori a quelle di C.
La modalità di valutazione risulta ad esempio utile nelle situazioni seguenti:
Un amministratore desidera determinare l'impatto dell'aggiunta di un indice non cluster a una tabella in termini di prestazioni.
Un amministratore ha appena utilizzato Ottimizzazione guidata motore di database per ottimizzare un database e ha ricevuto l'indicazione (R) e, dopo averla esaminata, desidera ottimizzare R modificandola, ad esempio aggiungendo due indici non cluster ed eliminando un indice non cluster incluso in R. Dopo aver modificato R, l'amministratore utilizzerà l'indicazione modificata come input per Ottimizzazione guidata motore di database ed eseguirà nuovamente l'ottimizzazione per misurare l'impatto delle modifiche in termini di prestazioni.
Modalità di ottimizzazione
In modalità di ottimizzazione un amministratore del database è già consapevole della necessità di correggere parte della progettazione fisica del database, ma desidera che sia Ottimizzazione guidata motore di database a indicare le strutture di progettazione fisica più appropriate per il resto della configurazione.
La modalità di ottimizzazione risulta ad esempio utile nelle situazioni seguenti:
Un amministratore del database è consapevole che è necessario partizionare una tabella dei fatti perché troppo grande. Deve quindi scegliere tra il partizionamento mensile o trimestrale. I due metodi di partizionamento della tabella sono ugualmente validi, tuttavia l'amministratore desidera scegliere quello che garantisce le prestazioni ottimali per uno specifico carico di lavoro. Per determinare il metodo di partizionamento più appropriato, l'amministratore può utilizzare Ottimizzazione guidata motore di database e ottimizzare due volte il carico di lavoro. Per ottimizzare il carico di lavoro, l'amministratore utilizza innanzitutto una configurazione specificata dall'utente con la tabella partizionata in base al metodo di partizionamento ipotetico mensile. Il carico di lavoro viene quindi nuovamente ottimizzato con la tabella partizionata in base al metodo di partizionamento ipotetico trimestrale. Dopo aver completato l'ottimizzazione del carico di lavoro con entrambe le configurazioni ipotetiche, l'amministratore può confrontare la percentuale di miglioramento per determinare il metodo di partizionamento che garantisce le prestazioni migliori.
Nella colonna ship_date di una tabella Orders deve essere presente un indice con cluster. L'amministratore del database desidera determinare il set migliore di indici non cluster per la tabella Orders. Può quindi correggere parzialmente la progettazione fisica del database indicando una configurazione specifica dell'utente che include un indice cluster nella colonna ship_date della tabella Orders. L'amministratore può infine utilizzare Ottimizzazione guidata motore di database in modalità di ottimizzazione per determinare gli effetti della configurazione specificata dall'utente in termini di prestazioni.
Informazioni sul confronto di due configurazioni per uno specifico carico di lavoro
Uno scenario comune è costituito dal confronto tra due diverse configurazioni per uno specifico carico di lavoro, ad esempio nel caso in cui Ottimizzazione guidata motore di database indica una determinata configurazione e l'amministratore desidera valutare l'impatto di una configurazione leggermente diversa. Per confrontare la nuova configurazione con quella originale che utilizza lo stesso carico di lavoro, è fondamentale utilizzare l'utilità della riga di comando dta anziché l'interfaccia utente grafica, in quanto, tramite l'opzione -n, consente di specificare il numero di eventi del carico di lavoro che devono essere ottimizzati in Ottimizzazione guidata motore di database. Per essere certi che le due sessioni di ottimizzazione siano equivalenti e quindi confrontabili, specificare per ciascuna configurazione lo stesso numero di eventi da ottimizzare. Tale precauzione è importante perché è possibile che Ottimizzazione guidata motore di database non sia in grado di ottimizzare l'intero carico di lavoro entro l'intervallo specificato. Per ulteriori informazioni, vedere Utilità dta e Procedura: Ottimizzazione di un database tramite l'utilità dta.
Considerazioni sull'utilizzo della configurazione specificata dall'utente
Tenere presente quanto segue:
Le configurazioni specificate dall'utente possono includere gli oggetti di progettazione fisica seguenti: indici, viste indicizzate, partizionamento di indici e viste indicizzate, nonché statistiche.
È possibile utilizzare l'interfaccia utente grafica di Ottimizzazione guidata motore di database per impostare una configurazione specificata dall'utente in una sessione di ottimizzazione. Per importare una configurazione, scegliere Importa definizione sessione dal menu File.
È inoltre possibile utilizzare l'interfaccia utente grafica di Ottimizzazione guidata motore di database per selezionare un subset di indici da una delle relative indicazioni e avviare una nuova sessione con il subset selezionato della configurazione indicata per la valutazione.
Limitazioni delle configurazioni specificate dall'utente
Di seguito sono riportate le limitazioni previste dalle configurazioni specificate dall'utente:
La specifica di configurazione deve essere conforme allo schema XML DTAschema.xsd di Ottimizzazione guidata motore di database, disponibile in questo sito Web Microsoft.
La configurazione non deve prevedere l'aggiunta di un indice o di una vista indicizzata preesistente al database.
La configurazione non deve contenere viste in cui non sia possibile creare indici.
La configurazione non deve includere il tentativo di eliminare un indice inesistente o un indice a cui è applicato un vincolo, ad esempio un vincolo di chiave univoca o primaria.
La configurazione non può prevedere la creazione e l'eliminazione dello stesso indice. Ad esempio, non è possibile creare l'indice I sulla tabella T e quindi eliminarlo, né l'operazione contraria, ovvero eliminare l'indice I sulla tabella T e quindi crearlo di nuovo.
Vedere anche