Considerando ciò che gli stati MSDN riguardano l'archiviazione di SQL Server 2008 R2 di precisione NUMERIC/DECIMAL.SQL Server NUMERIC/DECIMAL precisione rispetto all'archiviazione
precisione da 1 a 9 è 5 byte
precisione di 10 a 19 è 9 byte
Quindi, se il mio caso aziendale richiede logicamente un tipo di dati con 2 posti decimali e una precisione di 5 cifre non esegue alcuna differenza di prestazioni o memorizzazione effettiva se lo definisco come NUMERIC (5, 2) o NUMERIC (9, 2).
Una considerazione che sto ignorando intenzionalmente è il vincolo di controllo implicito poiché molto probabilmente metto un vincolo di controllo effettivo sulla colonna che limita l'intervallo consentito.
Questo fa la differenza quando si tratta di indici, prestazioni di query o altri aspetti del sistema?
NUMERIC non garantisce la presenza di una posizione decimale nel valore inserito/aggiornato. –
Test per overflow utilizzando sum(). –