Indici e spazio utilizzato

mercoledì 03 aprile 2013 - 15.09
Tag Elenco Tags  SQL Server 2008 R2  |  SQL Server 2008  |  SQL Server 2005

giobi Profilo | Newbie

Ciao, ho alcuni databases in produzione con una dimensione che varia da 2 a 4 gb. Andando a verificare cosa occupi tanto spazio ho rilevato che sono gli indici più dei dati ad utuizzare spazio. Ho verificato quali sono gli indici mai o poco utilizzati e via via ne elimino. In questo modo mi aspettavo che lo spazio utilizzato dagli indici ìn una determinata tabella diminuisse e invece così non sempra, perchè? lo verifico dal management cliccando con il tasto dx sulla tabella, poi su proprietà e quindi su archiviazione. Ho letto che lo spazio liberato con DROP INDEX viene 'lasciato a disposizione di un qualsiasi oggetto del database' quindi non ho speranza che diminuisca la dimensione del mio db? Inoltre il database è impostato con modalità di recupero a simple e con compattazione automatica, in più un piano di manutenzione che ogni sera riorganizza e ricompila gli indici e compatta il db: tale compattazione può peggiorare le prestazioni e contribuire allo spazio occupato?
grazie
gio

alx_81 Profilo | Guru

>Ciao,
Ciao e benvenuto su dotnethell.it!

>Ho verificato quali sono gli indici mai o poco utilizzati e via
>via ne elimino. In questo modo mi aspettavo che lo spazio utilizzato
>dagli indici ìn una determinata tabella diminuisse e invece così
>non sempra, perchè?
Hai anche effettuato lo shrink specificando il dafarsi sul file (ridurlo come e a quanto) del file su cui erano salvati gli indici?

>Inoltre il database è impostato con modalità di recupero a simple e con
>compattazione automatica, in più un piano di manutenzione che
>ogni sera riorganizza e ricompila gli indici e compatta il db:
>tale compattazione può peggiorare le prestazioni e contribuire
>allo spazio occupato?
l'autoshrink è una buona cosa evitarlo, perchè, sì, degradano le performances.
In teoria dovresti riorganizzare gli indici la cui frammentazione è al di sotto del 30% (e quindi "rimetterli a posto" solo nella parte delle foglie dell'albero dell'indice) e fare una rebuild se la percentuale di frammentazione supera il 30%.
ci sono delle sp in giro per la rete consigliate per fare l'indicizzazione intelligente del tuo database, tipo:
http://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

>grazie
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5