Logo ms.removalsclassifieds.com

Perbezaan Antara Varchar dan Nvarchar (Dengan Jadual)

Isi kandungan:

Anonim

DBMS ialah perisian untuk mengurus pangkalan data dengan cekap. MSSQL adalah berdasarkan model hubungan dan berada di bawah DBMS. Data adalah MSSQL yang disimpan dalam jadual yang disambungkan. Satu set nilai tertentu disimpan dalam setiap jadual. Atribut diwakili oleh lajur, manakala rekod mewakili setiap baris.

Apabila jadual menyimpan nilai, maka setiap lajur mempunyai jenis data tertentu. Atau dalam kata mudah, jenis data dipukul pada setiap lajur. Apabila ia datang kepada jenis data, varchar dan Nvarchar adalah dua daripadanya yang agak mengelirukan. Artikel ini menyerlahkan perbezaan antara varchar dan Nvarchar.

Varchar lwn Nvarchar

Perbezaan utama antara jenis data varchar dan Nvarchar ialah dalam SQL, varchar ialah jenis data yang menyimpan set data aksara bukan Unicode dengan panjang tak tentu. Sebaliknya, dalam SQL, ia adalah jenis data untuk menyimpan data aksara Unicode dengan panjang tidak tentu.

Dalam pelayan AQL, varchar ialah jenis data yang berkaitan dengan aksara pembolehubah. Peruntukan memori adalah sewajarnya kepada aksara yang dimasukkan. Semasa menggunakan varchar, aksara bukan Unicode disimpan. Parameter saiz maksimum (m) lajur varchar boleh berjulat dari 1 hingga 255 bait.

Nvarchar juga merupakan jenis data yang berkaitan dengan aksara pembolehubah dalam SQL Server. Dalam pangkalan data, berbilang bahasa boleh disimpan. Sekiranya, bahasa lain digunakan, maka ia akan mengambil dua kali ruang untuk menyimpan set aksara lanjutan. Semasa menggunakan Nvarchar, aksara Unicode digunakan.

Jadual Perbandingan Antara Varchar dan Nvarchar

Parameter Perbandingan Varchar Nvarchar
Tafsiran Dalam SQL, varchar ialah jenis data yang menyimpan set data aksara bukan Unikod dengan panjang tak tentu. Dalam SQL, Nvarchar ialah jenis data untuk menyimpan data aksara Unicode dengan panjang tidak tentu.
Jenis data aksara Data bukan Unikod Data Unikod
Saiz aksara 1 bait 2 bait
Panjang maksimum 8, 000 4, 000
Saiz storan Panjang sebenar (dalam bait) 2 kali panjang sebenar (dalam bait)

Apa itu Varchar?

Varchar ialah jenis data yang menyimpan rentetan aksara panjang yang berbeza-beza yang mengandungi aksara multibait dan bait tunggal. Dalam hal ini, (R) bermaksud bilangan minimum bait yang dikhaskan untuk lajur, dan m bermaksud saiz maksimum lajur.

Lajur yang dianggap sebagai varchar tanpa parameter dan kurungan mempunyai saiz simpanan sifar dan saiz maksimum satu bait. Sekiranya meletakkan indeks pada lajur varchar, maka saiz maksimum ialah 254 bait. Rentetan aksara juga boleh disimpan yang lebih pendek daripada nilai m tetapi tidak lebih lama juga.

Ia adalah pilihan untuk menentukan parameter ruang simpanan minimum (R). Nilai ini boleh dari 0 hingga 255 bait tetapi hendaklah kurang daripada (m) lajur varchar. Ia boleh lalai kepada 0 jika nilai minimum tidak ditentukan. Jadi, adalah perlu untuk menentukan parameter ini apabila pengguna pada mulanya memasukkan baris dengan rentetan aksara nol dalam lajur.

Apabila rentetan disimpan dalam lajur varchar, maka aksara sebenar hanya disimpan. Jika ruang simpanan atau (R) tidak dinyatakan, tetapi beberapa rentetan data adalah lebih pendek daripada bait (R), beberapa baris yang dikhaskan untuk ruang tidak digunakan.

Apakah Nvarchar?

Nvarchar ialah jenis data untuk menyimpan data aksara dalam medan panjang berubah-ubah. Aksara bukan Unikod seperti ASCII disimpan yang mewakili huruf besar, simbol, huruf kecil dan digit. Ia adalah perlu untuk menentukan maksimum lajur.

Apabila indeks diletakkan pada lajur Nvarchar, maka saiz maksimum ialah 254 bait. Rentetan aksara yang lebih pendek boleh disimpan tetapi tidak lebih lama daripada nilai yang ditentukan. Jika nilai ruang minimum tidak dinyatakan, maka nilai lalai ialah 0 daripada rizab.

Ia adalah perlu untuk menentukan parameter terpelihara semasa mula-mula memasukkan baris dengan nilai data tanpa atau sedikit aksara dalam lajur ini. Kemudian, ia menjangkakan data yang dikemas kini dengan nilai yang lebih panjang. Nilai ini biasanya berkisar antara 0 hingga 255 bait tetapi harus kurang daripada saiz maksimum lajur.

Data boleh menjadi rentetan huruf berbilang bait atau bait tunggal, digit dan aksara lain yang disokong oleh set kod pangkalan data yang terletak. Penggunaan Nvarchar yang dijimatkan pada ruang yang digunakan dalam jadual tidak mempunyai kesan pada saiz indeks. Indeks yang berdasarkan lajur Nvarchar, panjang setiap kunci indeks adalah sama dengan bait maksimum, saiz maksimum lajur.

Perbezaan Utama Antara Varchar dan Nvarchar

Kesimpulan

Dapat disimpulkan bahawa kedua-dua varchar dan Nvarchar adalah jenis data yang terletak dalam setiap lajur. Dalam SQL, varchar ialah jenis data yang menyimpan set data aksara bukan Unikod dengan panjang tak tentu. Sebaliknya, dalam SQL, Nvarchar ialah jenis data untuk menyimpan data aksara Unicode dengan panjang tidak tentu.

Varchar ialah jenis data aksara bukan Unikod dengan 1 bait sebagai saiz aksaranya. Sebaliknya, Nvarchar ialah jenis data aksara Unicode dengan 2 bait sebagai saiz aksaranya. Dalam MSSQL, varchar boleh menyimpan aksara maksimum 8000, manakala boleh menyimpan aksara maksimum 4000.

Rujukan

Perbezaan Antara Varchar dan Nvarchar (Dengan Jadual)