Differenze tra Varchar e Nvarchar Differenza tra

Anonim

Varchar vs Nvarchar

Varchar è un nome breve per Campo carattere variabile. I caratteri rappresentano dati di lunghezza indeterminata. Varchar in senso reale è un tipo di colonna di dati che si trova nei sistemi di gestione del database. Le dimensioni del campo delle colonne Varchar possono variare, a seconda del database che viene considerato.

In Oracle 9i, il campo ha un limite massimo di 4000 caratteri. MySQL ha un limite di dati di 65, 535 per una riga e Microsoft SQL Server 2005 ha un limite di campo di 8000. Questa cifra può aumentare nel server Microsoft SQL quando viene utilizzato Varchar (max), che sale a 2 gigabyte. Nvarchar, d'altra parte, è una colonna che può memorizzare qualsiasi lunghezza di dati Unicode. La codepage che Nvarchar deve rispettare è una codifica a 8 bit. La dimensione massima per Varchar è 8000 mentre la dimensione massima per NVarchar è 4000. Ciò significa che una singola colonna di Varchar può avere un massimo di 8000 caratteri e una singola colonna di Nvarchar può contenere al massimo 4000 caratteri. Il superamento dei valori della colonna diventa un problema enorme e può persino causare seri problemi poiché le righe non possono estendersi su più pagine, ad eccezione di SQL Server 2005 e la limitazione deve essere rispettata o errori o il risultato verrà troncato …

Una delle principali differenze tra Varchar e Nvarchar è l'uso di meno spazio in Varchar. Questo perché Nvarchar impiega Unicode, che, a causa della seccatura di codificare gli specifici, occupa più spazio. Per ogni carattere memorizzato, Unicode richiede due byte di dati, e questo è ciò che potrebbe causare un aumento del valore dei dati rispetto ai dati non Unicode utilizzati da Varchar. Varchar, d'altra parte, richiede solo un byte di dati per ogni carattere che viene memorizzato. Tuttavia, ancora più importante, anche se l'uso di Unicode occupa più spazio, risolve i problemi derivanti dalle incompatibilità della codepage che sono difficili da risolvere manualmente.

Quindi la funzionalità dello spazio può essere trascurata preferibilmente per il minor tempo impiegato da Unicode per risolvere le incompatibilità che ne derivano. Inoltre, anche il costo dei dischi e della memoria è diventato abbastanza abbordabile, assicurando che spesso la funzionalità dello spazio sia trascurata, mentre il tempo necessario per risolvere i problemi nascenti con Varchar non può essere risolto con tanta facilità.

Tutte le piattaforme di sviluppo utilizzano internamente sistemi operativi moderni, consentendo l'esecuzione di Unicode. Ciò significa che Nvarchar è impiegato più spesso di Varchar. Le conversioni di codifica vengono evitate, riducendo il tempo necessario per leggere e scrivere nel database. Ciò riduce anche significativamente gli errori, con il recupero degli errori di conversione che si verificano diventando un problema semplice da affrontare.

--3 ->

Il vantaggio dell'uso di Unicode si applica anche alle persone che usano interfacce di applicazioni ASCII, poiché il database risponde bene, in particolare il sistema operativo e gli algoritmi di coalizione del database. I dati Unicode evitano problemi di conversione e i dati possono sempre essere convalidati, se limitato a un ASCII a 7 bit, indipendentemente dal sistema legacy che deve essere mantenuto.

Sommario

Varchar e Nvarchar vengono con diversi tipi di personaggi. Varchar utilizza dati non Unicode mentre Nvarchar utilizza i dati Unicode.

Sia Varchar che Nvarchar hanno vari tipi di dati che devono essere rispettati. Varchar salva solo i dati in una sequenza da 1 byte e Nvarchar salva i dati in 2 byte per ogni carattere

Anche la lunghezza massima varia. La lunghezza del varchar è limitata a 8000 byte e 4000 byte rappresenta il limite per Nvarchar.

Questo perché la dimensione di archiviazione in Varchar è più semplice rispetto ai dati Unicode usati da Nvarchar.