Perbezaan Antara Varchar dan Nvarchar Perbezaan Antara

Anonim

Varchar vs Nvarchar

Varchar adalah nama pendek untuk Bidang Karakter Berubah. Watak mewakili data yang panjang tidak pasti. Varchar sebenarnya adalah jenis lajur data yang terdapat dalam sistem pengurusan pangkalan data. Saiz medan kolom Varchar boleh berbeza-beza, bergantung pada pangkalan data yang sedang dipertimbangkan.

Dalam Oracle 9i, bidang ini mempunyai had maksimum 4000 aksara. MySQL mempunyai had data sebanyak 65, 535 untuk satu baris, dan pelayan Microsoft SQL 2005 mempunyai had bidang 8000. Angka ini boleh menjadi lebih tinggi dalam pelayan Microsoft SQL apabila Varchar (max) digunakan, meningkat kepada 2 gigabytes. Nvarchar, sebaliknya, adalah lajur yang boleh menyimpan sebarang data Unicode. The codepage yang Nvarchar mesti mematuhi adalah pengekod 8 bit. Saiz maksimum untuk Varchar adalah 8000 manakala saiz maksimum untuk NVarchar adalah 4000. Ini berkuat kuasa bermakna satu lajur Varchar boleh menjadi maksimum 8000 aksara dan satu lajur Nvarchar boleh menjadi 4000 aksara yang paling banyak. Melebihi nilai lajur menjadi isu yang besar dan bahkan boleh menyebabkan masalah serius sebagai baris tidak boleh memuatkan beberapa halaman, kecuali pelayan SQL 2005, dan batasan harus dipatuhi atau kesalahan atau pemotongan akan menghasilkan …

Salah satu perbezaan utama antara Varchar dan Nvarchar ialah penggunaan ruang kurang di Varchar. Ini kerana Nvarchar menggunakan Unicode, yang disebabkan oleh pengkodelan yang spesifik, memerlukan lebih banyak ruang. Untuk setiap watak yang disimpan, Unicode memerlukan dua byte data, dan inilah yang boleh menyebabkan nilai data kelihatan lebih tinggi jika dibandingkan dengan data non-Unicode yang digunakan Varchar. Varchar, sebaliknya, hanya memerlukan satu byte data untuk setiap dan setiap watak yang disimpan. Walau bagaimanapun, yang lebih penting, walaupun penggunaan Unicode mengambil lebih banyak ruang, ia menyelesaikan masalah yang timbul dengan ketidakcocokan codepage yang kesakitan untuk diselesaikan secara manual.

Oleh itu, ciri ruang boleh diabaikan dalam pilihan untuk masa yang lebih singkat yang diperlukan Unicode untuk membetulkan ketidakcocokan yang timbul. Selain itu, kos cakera dan memori juga menjadi sangat berpatutan, memastikan ciri ruang sering diabaikan, sementara waktu yang lebih lama untuk menyelesaikan masalah yang timbul dengan Varchar tidak dapat dibuang begitu mudah.

Semua platform pembangunan menggunakan sistem operasi moden secara dalaman, yang membolehkan Unicode dijalankan. Ini bermakna bahawa Nvarchar digunakan lebih kerap dari Varchar. Pengecualian pengekodan dielakkan, mengurangkan masa yang diperlukan untuk membaca dan menulis ke pangkalan data. Ini juga mengurangkan kesilapan, dengan pemulihan kesalahan penukaran yang berlaku menjadi isu mudah untuk ditangani.

--3 ->

Manfaat penggunaan Unicode juga digunakan untuk orang yang menggunakan antara muka aplikasi ASCII, sebagai pangkalan data bertindak balas dengan baik, terutamanya sistem Operasi dan algoritma koalisi pangkalan data. Data Unicode mengelakkan masalah berkaitan penukaran dan data sentiasa boleh disahkan, jika terhad kepada ASCII 7 bit, tanpa mengira sistem warisan yang mesti dikekalkan.

Ringkasan

Varchar dan Nvarchar datang dengan pelbagai jenis watak. Varchar menggunakan data tanpa Unicode manakala Nvarchar menggunakan data Unicode.

Kedua Varchar dan Nvarchar mempunyai pelbagai jenis data yang mesti dipatuhi. Varchar hanya menyimpan data dalam jujukan 1 byte dan Nvarchar menyimpan data dalam 2 bait untuk setiap aksara

Panjang maksimum juga berbeza-beza. Panjang Varchar adalah terhad kepada 8000 bait dan 4000 bait adalah had untuk Nvarchar.

Ini kerana saiz storan di Varchar lebih mudah berbanding dengan data Unicode yang digunakan oleh Nvarchar.