Scenari per la selezione delle opzioni di ottimizzazione
È possibile associare diverse opzioni di ottimizzazione disponibili in Ottimizzazione guidata Motore di database in modo da ottenere le indicazioni necessarie per l'implementazione di SQL Server. Nelle sezioni seguenti vengono illustrati gli scenari relativi a diverse combinazioni di opzioni di ottimizzazione e al tipo di indicazioni di ottimizzazione fornite da ogni combinazione.
Selezione della combinazione appropriata di opzioni
Nella tabella seguente sono elencati esempi che illustrano il modo in cui in Ottimizzazione guidata Motore di database vengono interpretate le diverse combinazioni di opzioni di ottimizzazione che gli utenti possono scegliere tramite l'utilità della riga di comando dta o l'interfaccia utente grafica (GUI) di Ottimizzazione guidata Motore di database:
Argomenti specificati con dta |
Opzioni selezionate nella scheda Opzioni di ottimizzazione nella GUI |
Interpretazione della combinazione di opzioni da parte di Ottimizzazione guidata motore di database |
---|---|---|
-fa IDX -fp NONE -fk ALL |
Indici Nessun partizionamento Mantieni tutte le strutture di progettazione fisica esistenti |
Mantiene tutte le strutture di progettazione fisica disponibili nell'indicazione. È inoltre possibile che Ottimizzazione guidata Motore di database includa nell'indicazione gli indici non partizionati. |
-fa IDX_IV -fp NONE -fk NONE |
Indici e viste indicizzate Nessun partizionamento Non mantenere alcuna struttura di progettazione fisica esistente |
Include nell'indicazione solo gli indici non partizionati e le viste indicizzate. Se l'indicazione risultante viene implementata, tutti gli eventuali oggetti partizionati esistenti verranno rimossi. |
-fa IDX_IV -fp ALIGNED -fk ALIGNED |
Indici e viste indicizzate Partizionamento allineato Mantieni partizionamento allineato |
Mantiene tutte le strutture di progettazione fisica "allineate" esistenti, ovvero partizionate in modo equivalente alle tabelle e alle viste di base. È possibile che Ottimizzazione guidata Motore di database includa nell'indicazione altri indici e viste indicizzate allineati. Se le indicazioni risultanti vengono implementate, lo stato del database sarà "allineato". |
Scenari di utilizzo per le combinazioni delle opzioni di ottimizzazione
Nella tabella seguente vengono elencati scenari comuni utilizzati in pratica dalla maggior parte degli utenti e vengono illustrate le combinazioni di opzioni che consentono tali scenari. Di seguito sono riportati i fattori che determinano questi scenari.
Prestazioni
Familiarità con le funzionalità, ad esempio l'esperienza nell'utilizzo delle viste indicizzate
Modifiche incrementali apportate al database
Gestibilità
Compatibilità con versioni precedenti
Facilità di migrazione da una versione di MicrosoftSQL Server a un'altra
Le prestazioni sono un fattore comune a tutti gli scenari, pertanto non vengono elencate esplicitamente nella tabella seguente.
#. |
Descrizione scenario |
Fattori |
Oggetti specificati |
Partizionamento specificato |
Opzione di mantenimento specificata |
---|---|---|---|---|---|
1 |
Si desiderano prestazioni ottimali in database nuovi o esistenti, ma non si ha familiarità con le funzionalità di partizionamento. Si esegue la migrazione da SQL Server 2005 a SQL Server 2008. |
Familiarità con le funzionalità, compatibilità con le versioni precedenti |
Indici e viste indicizzate |
Nessuno |
Nessuna |
2 |
Si esegue l'ottimizzazione di un insieme ridotto di query nuove o ad hoc, ma non si ha familiarità con le funzionalità di partizionamento. Si esegue la migrazione da SQL Server 2005 a SQL Server 2008. |
Modifiche incrementali, familiarità con le funzionalità, compatibilità con le versioni precedenti |
Indici e viste indicizzate |
Nessuno |
Tutte |
3 |
Non si desidera modificare il clustering delle tabelle di base. Poca familiarità con le funzionalità di partizionamento. Si esegue la migrazione da SQL Server 2005 a SQL Server 2008. |
Familiarità con le funzionalità, modifiche incrementali |
Indici e viste indicizzate |
Nessuno |
Indici cluster |
4 |
Si desidera ottenere indici correttamente ottimizzati e si desidera apportare modifiche incrementali solo agli indici relativi a insiemi ridotti di nuove query. Poca familiarità con le funzionalità di partizionamento. Si esegue la migrazione da SQL Server versione 7.0 a SQL Server 2000 o si utilizza SQL Server 2000. |
Modifiche incrementali |
Indici e viste indicizzate |
Nessuno |
Indici |
5 |
Si desiderano prestazioni ottimali per l'intero carico di lavoro, ovvero per database nuovi o esistenti. Si configura o distribuisce un nuovo sistema SQL Server. Si esegue la migrazione da SQL Server 2005 a SQL Server 2008 e si desidera usufruire del partizionamento per migliorare le prestazioni. |
- |
Indici e viste indicizzate |
Completo |
Nessuna |
6 |
Si esegue l'ottimizzazione di un insieme ridotto di query nuove o ad hoc. Si distribuisce un nuovo sistema SQL Server |
Modifiche incrementali |
Indici e viste indicizzate |
Completo |
Tutte |
7 |
Non si desidera modificare il clustering delle tabelle di base ma si desidera ottenere prestazioni ottimali in altro modo. |
Modifiche incrementali |
Indici e viste indicizzate |
Completo |
Indici cluster |
8 |
Si desidera mantenere tutti gli indici esistenti ma non necessariamente le viste indicizzate, ottimizzando al massimo le prestazioni. Questa soluzione potrebbe risultare utile in caso di modifica del carico di lavoro, poiché le viste indicizzate vengono influenzate maggiormente da tali modifiche rispetto agli indici. |
Modifiche incrementali |
Indici e viste indicizzate |
Completo |
Indici |
9 |
Si desiderano prestazioni ottimali in database nuovi o esistenti ma il partizionamento viene eseguito principalmente per una migliore gestibilità. Si configura o distribuisce un nuovo sistema. |
Gestibilità |
Indici e viste indicizzate |
Allineato |
Nessuna |
10 |
Si desidera utilizzare il partizionamento, principalmente per una migliore gestibilità. Si esegue l'ottimizzazione di un insieme ridotto di query nuove o ad hoc. |
Modifiche incrementali, gestibilità |
Indici e viste indicizzate |
Allineato |
Allineato |
11 |
Non si desidera modificare il clustering delle tabelle di base. Il partizionamento viene utilizzato principalmente per una migliore gestibilità. |
Familiarità con le funzionalità, modifiche incrementali, gestibilità |
Indici e viste indicizzate |
Allineato |
Indici cluster |
12 |
Familiarità con gli indici, ma non con le viste indicizzate o il partizionamento. Si desiderano prestazioni ottimali per l'intero carico di lavoro. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2005 oppure da SQL Server versione 7.0 a SQL Server 2008. |
Familiarità con le funzionalità, compatibilità con le versioni precedenti |
Indici |
Nessuno |
Nessuna |
13 |
Familiarità con gli indici, ma non con le viste indicizzate o il partizionamento. Si esegue l'ottimizzazione di un insieme ridotto di query nuove o ad hoc. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2005 oppure da SQL Server versione 7.0 a SQL Server 2008. |
Modifiche incrementali, familiarità con le funzionalità, compatibilità con le versioni precedenti |
Indici |
Nessuno |
Tutte |
14 |
Non si desidera modificare il clustering delle tabelle di base. Poca familiarità con il partizionamento o le viste indicizzate. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2005 oppure da SQL Server versione 7.0 a SQL Server 2008. |
Familiarità con le funzionalità, modifiche incrementali |
Indici |
Nessuno |
Indici cluster |
15 |
Si desidera eliminare le viste indicizzate esistenti dal database corrente senza eliminare gli indici esistenti. |
Familiarità con le funzionalità, modifiche incrementali |
Indici |
Nessuno |
Indici |
16 |
Poca familiarità con le viste indicizzate. Si desiderano prestazioni ottimali per l'intero carico di lavoro. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2008. |
Familiarità con le funzionalità |
Indici |
Completo |
Nessuna |
17 |
Poca familiarità con le viste indicizzate. Si esegue l'ottimizzazione di un insieme ridotto di query nuove o ad hoc. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2008. |
Familiarità con le funzionalità, modifiche incrementali |
Indici |
Completo |
Tutte |
18 |
Poca familiarità con le viste indicizzate. Non si desidera modificare il clustering delle tabelle di base. Si esegue l'ottimizzazione di un insieme ridotto di query nuove o ad hoc. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2008. |
Familiarità con le funzionalità, modifiche incrementali |
Indici |
Completo |
Indici cluster |
19 |
Si desidera eliminare le viste indicizzate esistenti dal database corrente senza eliminare gli indici esistenti. |
Familiarità con le funzionalità, modifiche incrementali |
Indici |
Completo |
Indici |
20 |
Familiarità con gli indici, ma non con le viste indicizzate. Il partizionamento viene utilizzato principalmente per una migliore gestibilità. Si desiderano prestazioni ottimali per l'intero carico di lavoro. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2005. |
Familiarità con le funzionalità, gestibilità |
Indici |
Allineato |
Nessuna |
21 |
Familiarità con gli indici, ma non con le viste indicizzate. Il partizionamento viene utilizzato principalmente per una migliore gestibilità. Si desiderano prestazioni ottimali per l'intero carico di lavoro. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2008. |
Familiarità con le funzionalità, gestibilità |
Indici |
Allineato |
Allineato |
22 |
Non si desidera modificare il clustering delle tabelle di base. Poca familiarità con le viste indicizzate. Il partizionamento viene utilizzato principalmente per una migliore gestibilità. Si esegue l'aggiornamento da SQL Server versione 7.0 a SQL Server 2005. |
Familiarità con le funzionalità, modifiche incrementali, gestibilità |
Indici |
Allineato |
Indici cluster |
23 |
Si esegue l'ottimizzazione di un insieme ridotto di query. Non si desiderano nuovi indici cluster. Poca familiarità con le viste indicizzate o il partizionamento. |
Familiarità con le funzionalità, modifiche incrementali |
Indici non cluster |
Nessuno |
Tutte |
24 |
Non si desiderano nuovi indici cluster. Poca familiarità con le viste indicizzate o il partizionamento. |
Familiarità con le funzionalità, modifiche incrementali |
Indici non cluster |
Nessuno |
Indici cluster |
25 |
Si esegue l'ottimizzazione di un insieme ridotto di query. Non si desiderano nuovi indici cluster. Poca familiarità con le viste indicizzate. |
Familiarità con le funzionalità, modifiche incrementali |
Indici non cluster |
Completo |
Tutte |
26 |
Non si desiderano nuovi indici cluster. Poca familiarità con le viste indicizzate. Disponibilità a una riprogettazione completa degli indici non cluster. |
Familiarità con le funzionalità, modifiche incrementali |
Indici non cluster |
Completo |
Indici cluster |
27 |
Non si desiderano nuovi indici cluster. Poca familiarità con le viste indicizzate. Si desidera mantenere allineata la struttura fisica finale. |
Familiarità con le funzionalità, modifiche incrementali, gestibilità |
Indici non cluster |
Allineato |
Allineato |
28 |
Si esegue l'ottimizzazione di un insieme ridotto di query. Non si desiderano nuovi indici cluster. Poca familiarità con le viste indicizzate. Disponibilità a una riprogettazione degli indici non cluster, purché allineati. |
Familiarità con le funzionalità, modifiche incrementali |
Indici non cluster |
Allineato |
Indici cluster |
29 |
Si esegue l'ottimizzazione di un set di query che eseguono la selezione da un subset di dati della tabella e si desiderano le migliori prestazioni per gli indici. |
Prestazioni |
Indici con opzione per gli indici filtrati |
Nessuno |
Nessuna |
30 |
Si desidera ottenere indici correttamente ottimizzati e si desidera apportare modifiche incrementali solo agli indici relativi a set ridotti di nuove query. Si esegue la migrazione da SQL Server 2005 a SQL Server 2008. |
Modifiche incrementali |
Indici e viste indicizzate, con opzione per gli indici filtrati |
Nessuno |
Indici |