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
Ottimizzazione db
giovedì 03 settembre 2009 - 16.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Flavius
Profilo
| Newbie
1
messaggi | Data Invio:
gio 3 set 2009 - 16.57
Ciao a tutti,
avrei un problema.
Sono chiamato a dover gestire un db le cui tabelle per averie esigenze non dovute certamente ad errori di ottimizzazione, crescono a dismisura con il passare del tempo, immagazzinando sempre nuovi dati.
Le tabelle sono tutte indicizzate, non ci sono elementi inutili ripetuti, ma nonostante tutto, il db continua a crescere.
Fin qui non posso farci nulla.
Tuttavia, con la crescita alcune procedure, quelle che vanno a recuperare dati dalle tabelle in crescita divengono sempre più lente. Ho trovato molto giovamento dall'uso di parametri table, ma questi non possono essere usati laddove le procedure siano chiamate a fare update sulle tabelle in crescita.
Si dà il caso che il db aggiunge i nuovi dati in blocchi a cui dà un id univoco. TUtte le procedure ricercano i dati attraverso quell'ID univoco. Basterebbe pertanto dividere le tabelle o virtualmente o fisicamente per diverso id univoco. Come faccio però?
Per le operazioni di selezione mi basta caricare un parametro table con tutti i dati relativi alla tabella x e all'univoco y, ma come posso fare non solo a caricare questi dati, ma a modificarli?
Spero di esser stato chiaro.
Qualcuno potrebbe aiutarmi?
alx_81
Profilo
| Guru
7.681
messaggi | Data Invio:
mar 8 set 2009 - 10.46
>Ciao a tutti,
ciao
>Sono chiamato a dover gestire un db le cui tabelle per averie
>esigenze non dovute certamente ad errori di ottimizzazione, crescono
>a dismisura con il passare del tempo, immagazzinando sempre nuovi dati.
>Le tabelle sono tutte indicizzate, non ci sono elementi inutili
>ripetuti, ma nonostante tutto, il db continua a crescere.
>Fin qui non posso farci nulla.
Dipende dal dbms che hai.. Però il partizionamento potrebbe aiutarti.
>Si dà il caso che il db aggiunge i nuovi dati in blocchi a cui
>dà un id univoco. TUtte le procedure ricercano i dati attraverso
>quell'ID univoco. Basterebbe pertanto dividere le tabelle o virtualmente
>o fisicamente per diverso id univoco. Come faccio però?
appunto.. partizionamento. Che DBMS hai?
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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 !