Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Database Engine Tuning Advisor - Che ceppa fa??
lunedì 05 luglio 2010 - 13.35
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 5 lug 2010 - 13:35
Ciao a tutti,
stavo provando ad usare il tool in oggetto con SQL2005 server edition. Avevo alcuni report che ci mettevano una vita di tempo ad eseguire allora ho fatto così:
slq profiler- individuato la query che ci mette una vita ad eseguire, copiata ed eseguita con DETA, creato gli indici e le robe che voleva il programma.
Il report adesso girà in pochissimo tempo, a fronte di un aumento delle dimensioni del db di circa 1,5 giga (10%).
Vi chiedo: è la strada giusta per l'ottimizzazione o no?
Se sì, cosa sono gli indici e dove vengono "scritti" ?
E' cpossibile un rollback on ripristino situazione iniziale o bisogna restrore un backup "valido" prima dell'utilizzo del DETA?
In oracle 9 o successivo, esiste qualcosa del genere?
Ciao e grazie!
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 5 lug 2010 - 13:50
>Vi chiedo: è la strada giusta per l'ottimizzazione o no?
Direi che è una buona strada per individuare le ottimizzazioni da apportare al sistema; un'altra è usare la propria testa
>Se sì, cosa sono gli indici e dove vengono "scritti" ?
Non ho capito la domanda, vorresti sapere cos'è un indice?
Brevemente un indice è una struttura dati (tipicamente un b-tree) utilizzata per velocizzare l'accesso ai dati.
SQL Server supporta diverse tipologie di indici di cui trovi ampia documentazione sui Books Online:
http://msdn.microsoft.com/en-us/library/ms189271.aspx
>E' cpossibile un rollback on ripristino situazione iniziale o
>bisogna restrore un backup "valido" prima dell'utilizzo del DETA?
Puoi semplicemente eliminare gli indici creati dal Tuning Advisor, ma la domanda è: per quale motivo vorresti farlo se ora gli accessi sono immediati?
>In oracle 9 o successivo, esiste qualcosa del genere?
Certo, gli indici sono presenti in praticamente tutti gli RDBMS.
>Ciao e grazie!
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 5 lug 2010 - 13:56
>Direi che è una buona strada per individuare le ottimizzazioni
>da apportare al sistema; un'altra è usare la propria testa
>
Beh non ci sarei mai arrivato da solo alla creazione di tutta la roba che mi ha tirato fuori quel programma!!
>>Se sì, cosa sono gli indici e dove vengono "scritti" ?
>Non ho capito la domanda, vorresti sapere cos'è un indice?
>Brevemente un indice è una struttura dati (tipicamente un b-tree)
>utilizzata per velocizzare l'accesso ai dati.
>SQL Server supporta diverse tipologie di indici di cui trovi
>ampia documentazione sui Books Online:
>
http://msdn.microsoft.com/en-us/library/ms189271.aspx
Adesso leggo, grazie!
>>E' cpossibile un rollback on ripristino situazione iniziale o
>>bisogna restrore un backup "valido" prima dell'utilizzo del DETA?
>Puoi semplicemente eliminare gli indici creati dal Tuning Advisor,
>ma la domanda è: per quale motivo vorresti farlo se ora gli accessi
>sono immediati?
Sono ancora in ambiente test, volevo saperlo nel caso avessi bisogno di recuperare quello spazio occupato in più. Ma posso vederli nella gui da qualche parte?
L'eliminazione di qualche indice potrebbe compromettere l'accesso ai dati o verrebbe solamente meno il vantaggio che direttamente aveva creato quest'ultimo?
>>In oracle 9 o successivo, esiste qualcosa del genere?
>Certo, gli indici sono presenti in praticamente tutti gli RDBMS.
>
Ma riesco a crearli facilmente come con DETA o dovrei capire da solo che indici fare?
E a sto punto un'altra domanda: se dovessi cercare di capire che indici servono, senza avvalrmi di DETA, come dovrei fare?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 5 lug 2010 - 14:05
>Sono ancora in ambiente test, volevo saperlo nel caso avessi
>bisogno di recuperare quello spazio occupato in più. Ma posso
>vederli nella gui da qualche parte?
Certo, in SSMS seleziona la tabella che ti interessa, esplodi il nodo indexes e visualizzerai gli indici definiti su quella tabella.
Per avere una visione di insieme a livello di db puoi selezionarlo e richiamare il report Index Physical Statistics.
>L'eliminazione di qualche indice potrebbe compromettere l'accesso
>ai dati o verrebbe solamente meno il vantaggio che direttamente
>aveva creato quest'ultimo?
Potresti semplicemente perdere le prestazioni in accesso che ora riscontri, ma l'eliminazione di un indice non comporta la perdita di dati.
E' come se tu strappassi l'indice di un libro... le pagine rimangono, ma diventa più problematico ricercare un certo paragrafo
>Ma riesco a crearli facilmente come con DETA o dovrei capire
>da solo che indici fare?
Ogni RDBMS ha dei tools di ottimizzazione, dovresti valutarli caso per caso.
>E a sto punto un'altra domanda: se dovessi cercare di capire
>che indici servono, senza avvalrmi di DETA, come dovrei fare?
Studiare molto
Seriamente, non me la sento di affrontare un argomento così lungo e complesso su un forum. Se hai domande specifiche sei il benvenuto, ma ti suggerisco di dedicare un (bel) po' di tempo per assimilare la teoria.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 5 lug 2010 - 14:13
Lorenzo, sei stato gentile ed esauriente come sempre.
Magari un giorno studierò più approfonditamente il discorso indici, che a quanto pare è molto complesso (dovrei anche riprendere in mano algoritmi e strutture dati), per adesso mi accontento di "sapere", almeno in linea di principio cosa, sto facendo.
Ciao e alla prossima!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !