2009-09-03 6 views
10

La mia domanda è cosa è meglio usare nella generazione di colonne in SQL. La dimensione di nvarchar (varchar) deve essere moltiplicata di 2 (32, 64, 128) o non ha importanza e possiamo usare l'esempio di numeri completi "100", "50"?Nvarchar o varchar cosa è meglio usare moltiplicare di 2 o numeri interi arrotondati?

ringrazio molto per le risposte con motivi

saluto di a tutti

+0

Vedi, ora sto aspettando di vedere se ci sono dei dissidenti. Abbiamo 5 voti per non importa. :) – TheJacobTaylor

+0

Grazie per le risposte ora io ora non importa. BR – szkra

risposta

14

Non fa alcuna differenza. Utilizza la dimensione appropriata per i tuoi dati.

Per esempio SQL Server, se si guarda allo Anatomy of a Record vedrete che le vostre dimensioni si traducono in offset di record che dipendono dal record precedente nella tabella, valori nulli e altri fattori, specialmente con compressione di riga e compressione di pagina preso in considerazione. Nel momento in cui si accede al campo, qualsiasi somiglianza con la relazione di dimensione dichiarata originale, rispetto ai poteri di 2 o di 10, è finita da tempo. Anche vari elementi più in alto su una pila di esecuzione di query come unire operatori o operatori di ordinamento o qualsiasi altra cosa, non trarrebbero alcun beneficio da potenze di 2 dimensioni (non ho link di "prova", ma va bene se mi prendo in parola ...) . Neanche il protocollo TDS esegue il marshalling dei dati sul client. E vedo anche piccoli benefici per il cliente.

2

Non c'è alcun vantaggio nel disporre di una dimensione pari a (N)VARCHAR colonne. 2. Utilizza quello che è adatto per il tuo modello di dominio.

2

non importa, i valori di tutte le colonne della tabella sono strcutured dal motore per adattarsi insieme sulla pagina fisica

8

Non c'è nessuna ragione per usare multipli di 2. Impostare il campo in modo che corrisponda la dimensione stimata di i tuoi dati.

Un numero che vale la pena menzionare è 255. Alcuni sistemi di database hanno un massimo di tipo varchar di 255, anche se questo sta diventando più raro. Penso principalmente a quelle che ora sono versioni molto vecchie di MySql. E così a volte gli sviluppatori imposteranno la dimensione della colonna a 255 per garantire una maggiore portabilità.

3

Voto che non importa. Scegli ciò che ha più senso per la tua applicazione. Utilizza valori leggibili dall'uomo. Scegli nomi simpatici per variabili e colonne. Solo in casi veramente estremi dovrai sintonizzarti. Quando scopri che devi sintonizzarti, accordati. Fino ad allora, vai con ciò che ha più senso da una prospettiva aziendale o umana.