Ottimizzazione db

giovedì 03 settembre 2009 - 16.57

Flavius Profilo | Newbie

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

>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
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 !
Copyright © dotNetHell.it 2002-2013
Running on Windows Server 2008 R2 Enterprise, SQL Server 2008 & ASP.NET 3.5