Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Ci sono degli svantaggi nell'usare sempre nvarchar(MAX)?

La stessa domanda è stata posta sui forum MSDN:

  • Varchar(max) vs Varchar(255)

Dal post originale (molte più informazioni lì):

Quando si archiviano i dati in una colonna VARCHAR(N), i valori vengono archiviati fisicamente allo stesso modo. Ma quando lo memorizzi in una colonna VARCHAR(MAX), dietro lo schermo i dati vengono gestiti come un valore TEXT. Quindi è necessaria un'elaborazione aggiuntiva quando si ha a che fare con un valore VARCHAR(MAX). (solo se la taglia supera 8000)

VARCHAR(MAX) o NVARCHAR(MAX) è considerato un 'tipo di valore grande'. I tipi di valore di grandi dimensioni vengono generalmente archiviati "fuori riga". Significa che la riga di dati avrà un puntatore a un'altra posizione in cui è archiviato il 'valore grande'...