Ciao,
il tema frammentazione è ampio ma parlando del solo caso indici non clustered il modo più immediato per prevenirlo è agire sul fillfactor: quando crei l'indice e anche quando ne fai la rebuild imposta un valore prudenziale, p.es 60, e poi osserva come procede
la frammentazione.
Inevitabilmente dopo una serie di cicli DELETE/INSERT si ripresenterà la frammentazione e quindi dovrai ridurla con reorg quando bassa e rebuild quando alta; come ben illustrato in documentazione il
prezzo del fillfactor basso è una minore densità di records per pagina e quindi un maggiore I/O. Questo costo aggiuntivo è però meno impattante del costo di I/O dovuto alla frammentazione.
Un ridisegno del processo ETL e/o del data model potrebbe portare ad evitare i cicli DELETE/INSERT e a prevenire la frammentazione.
Giorgio