ความแตกต่างระหว่าง Varchar และ Nvarchar ความแตกต่างระหว่าง

Anonim

Varchar และ Nvarchar

Varchar เป็นชื่อสั้น ๆ สำหรับ Variable Character Field อักขระแสดงข้อมูลที่มีความยาวไม่แน่นอน Varchar ในความรู้สึกที่แท้จริงคือประเภทของคอลัมน์ข้อมูลที่พบได้ในระบบการจัดการฐานข้อมูล ขนาดฟิลด์ของคอลัมน์ Varchar อาจแตกต่างกันขึ้นอยู่กับฐานข้อมูลที่กำลังพิจารณา

ใน Oracle 9i ฟิลด์นี้มีขีด จำกัด สูงสุด 4000 อักขระ MySQL มีขีด จำกัด ของข้อมูล 65, 535 สำหรับแถวและเซิร์ฟเวอร์ Microsoft SQL 2005 มาพร้อมกับขีด จำกัด ของฟิลด์ 8000 ตัวเลขนี้สามารถเพิ่มสูงขึ้นในเซิร์ฟเวอร์ Microsoft SQL เมื่อใช้ Varchar (สูงสุด) เพิ่มขึ้นเป็น 2 กิกะไบท์ Nvarchar ตรงกันข้ามคือคอลัมน์ที่สามารถเก็บข้อมูล Unicode ใด ๆ ได้ เพจโค้ดที่ Nvarchar ต้องเป็นไปตามคือการเข้ารหัสแบบ 8 บิต ขนาดสูงสุดสำหรับ Varchar คือ 8000 ในขณะที่ขนาดสูงสุดสำหรับ NVarchar 4000 ซึ่งหมายความว่าคอลัมน์เดียวของ Varchar สามารถมีได้สูงสุด 8000 ตัวอักษรและคอลัมน์เดียวของ Nvarchar สามารถมีได้สูงสุด 4000 ตัวอักษร เกินค่าคอลัมน์จะกลายเป็นปัญหาใหญ่และอาจทำให้เกิดปัญหาร้ายแรงเนื่องจากแถวไม่สามารถขยายหลายหน้าได้ยกเว้นเซิร์ฟเวอร์ SQL 2005 และข้อ จำกัด จะต้องปฏิบัติตามหรือข้อผิดพลาดหรือการตัดทอนจะส่งผลให้

หนึ่งในความแตกต่างหลักระหว่าง Varchar และ Nvarchar คือการใช้พื้นที่น้อยลงใน Varchar เนื่องจาก Nvarchar ใช้ Unicode เนื่องจากความยุ่งยากในการเขียนโค้ดเฉพาะจะใช้พื้นที่มากขึ้น สำหรับอักขระทุกตัวที่เก็บไว้ Unicode ต้องใช้ข้อมูลสองไบต์และนี่คือสิ่งที่อาจทำให้ข้อมูลมีค่าสูงขึ้นเมื่อเปรียบเทียบกับข้อมูลที่ไม่ใช่ Unicode ที่ Varchar ใช้ ในทางกลับกัน Varchar ต้องการข้อมูลเพียงหนึ่งไบต์สำหรับอักขระแต่ละตัวที่เก็บไว้ อย่างไรก็ตามที่สำคัญกว่าแม้ว่าการใช้ Unicode จะใช้เนื้อที่มากขึ้น แต่ก็จะช่วยแก้ปัญหาที่เกิดขึ้นจากการใช้งานโค้ดร่วมกันซึ่งเป็นความเจ็บปวดในการแก้ปัญหาด้วยตนเอง

ดังนั้นคุณลักษณะของพื้นที่จึงสามารถมองข้ามได้โดยใช้เวลาสั้นกว่าที่จะใช้ Unicode เพื่อแก้ไขความไม่ลงรอยกันที่เกิดขึ้น นอกจากนี้ค่าใช้จ่ายของดิสก์และหน่วยความจำได้กลายเป็นราคาที่ไม่แพงมากเพื่อให้แน่ใจว่าคุณลักษณะพื้นที่มักจะมองข้ามในขณะที่ใช้เวลานานในการแก้ปัญหาที่เกิดขึ้นกับ Varchar ไม่สามารถยกเลิกได้อย่างง่ายดาย

แพลตฟอร์มการพัฒนาทั้งหมดใช้ระบบปฏิบัติการสมัยใหม่ภายในซึ่งจะทำให้ Unicode ทำงานได้ ซึ่งหมายความว่า Nvarchar เป็นลูกจ้างบ่อยกว่า Varchar หลีกเลี่ยงการแปลงการเข้ารหัสช่วยลดเวลาในการอ่านและเขียนข้อมูลลงในฐานข้อมูล นอกจากนี้ยังช่วยลดข้อผิดพลาดอย่างมากด้วยการกู้คืนข้อผิดพลาดในการแปลงที่เกิดขึ้นเป็นปัญหาง่ายๆในการจัดการ

ประโยชน์ของการใช้ Unicode จะใช้กับผู้ที่ใช้อินเทอร์เฟซโปรแกรม ASCII เนื่องจากฐานข้อมูลตอบสนองได้ดีโดยเฉพาะอย่างยิ่งระบบปฏิบัติการและอัลกอริทึมของฐานข้อมูลร่วมกัน ข้อมูล Unicode หลีกเลี่ยงปัญหาที่เกี่ยวข้องกับ Conversion และข้อมูลสามารถตรวจสอบได้เสมอหากถูก จำกัด ไว้ที่ ASCII 7 บิตโดยไม่คำนึงถึงระบบเดิมที่ต้องได้รับการปรับปรุง

สรุป

Varchar และ Nvarchar มาพร้อมกับตัวอักษรที่แตกต่างกัน Varchar ใช้ข้อมูลที่ไม่ใช่ Unicode ขณะที่ Nvarchar ใช้ข้อมูล Unicode

ทั้ง Varchar และ Nvarchar มีข้อมูลประเภทต่างๆกันที่ต้องปฏิบัติตาม Varchar บันทึกเฉพาะข้อมูลในลำดับ 1 ไบต์และ Nvarchar จะบันทึกข้อมูลเป็น 2 ไบต์สำหรับแต่ละอักขระ

ความยาวสูงสุดยังแตกต่างกัน ความยาวของ Varchar ถูก จำกัด ไว้ที่ 8000 ไบต์และ 4000 ไบต์เป็นขีด จำกัด สำหรับ Nvarchar

เนื่องจากขนาดการจัดเก็บข้อมูลใน Varchar มีความตรงไปตรงมามากขึ้นเมื่อเทียบกับข้อมูล Unicode ที่ใช้โดย Nvarchar