ความแตกต่างระหว่าง Char และ Varchar | Char vs Varchar

Anonim

Char vs Varchar

Char และ Varchar เป็นประเภทข้อมูลอักขระที่ใช้บ่อยในระบบฐานข้อมูลที่มีลักษณะคล้ายกันแม้ว่าจะมีความแตกต่างระหว่างข้อกำหนดเกี่ยวกับการเก็บข้อมูล ในการออกแบบฐานข้อมูลมีข้อมูลจำนวนมากที่ใช้ จากข้อมูลเหล่านี้ประเภทข้อมูลอักขระจะมีความโดดเด่นมากขึ้นเนื่องจากใช้เพื่อเก็บข้อมูลจำนวนมากเมื่อเทียบกับตัวเลข ประเภทข้อมูลอักขระใช้สำหรับจัดเก็บอักขระหรือข้อมูลตัวเลขและตัวอักษรในสตริง ชนิดของชุดอักขระฐานข้อมูลมีการกำหนดเมื่อสร้างฐานข้อมูล อีกครั้งจากชนิดข้อมูลอักขระเหล่านี้ Char และ Varchar เป็นข้อมูลที่ใช้ทั่วไป บทความนี้อธิบายถึงข้อมูลทั้งสองประเภทนี้คือ char และ varchar และความแตกต่างระหว่างข้อมูลเหล่านี้

Char คืออะไร?

ข้อกำหนด ISO ของ char คืออักขระ และประเภทข้อมูล char ใช้เพื่อ จัดเก็บอักขระไว้ Char (n) สามารถจัดเก็บอักขระที่มีขนาดคงที่ n ได้ จำนวนตัวอักษรสูงสุดที่ char (n) สามารถเก็บได้คือ 255 ตัวอักษรและความยาวของสตริงจะต้องมีค่าตั้งแต่ 1 ถึง 8000 Char เป็นเวลาห้าสิบเปอร์เซ็นต์เร็วกว่า varchar ดังนั้นเราจึงสามารถทำงานได้ดีขึ้นเมื่อเราทำงานร่วมกับ ถ่าน Char ใช้การจัดสรรหน่วยความจำแบบคงที่เมื่อเก็บข้อมูล เมื่อเราต้องการเก็บสตริงที่มีความยาวคงที่ที่รู้จักกันดีกว่าจะใช้ถ่าน ตัวอย่างเช่นเมื่อเก็บ 'ใช่' และ 'ไม่' เป็น 'Y' และ 'N' เราสามารถใช้ชนิดข้อมูล char และเมื่อจัดเก็บหมายเลขประจำตัวประชาชนของประเทศด้วยอักขระสิบตัวเราสามารถใช้ชนิดข้อมูลเป็น char (10) ได้

Varchar คืออะไร?

ตามที่ชื่อแนะนำ varchar เรียกว่า ตัวแปรตัวอักษร Varchar ใช้เพื่อเก็บข้อมูลตัวเลขและตัวอักษรที่มีความยาวต่างกัน จำนวนอักขระสูงสุดที่ประเภทข้อมูลนี้สามารถเก็บได้คือ 4000 ตัวอักษรและขนาดการจัดเก็บข้อมูลสูงสุดคือ 2 GB ขนาดพื้นที่เก็บข้อมูลของ varchar คือความยาวจริงของข้อมูลบวกสองไบต์ Varchar ทำงานช้ากว่าถ่านและใช้การจัดสรรหน่วยความจำแบบไดนามิกเมื่อจัดเก็บข้อมูล เราสามารถใช้ varchar เมื่อเก็บข้อมูลเช่นชื่อที่อยู่คำอธิบาย ฯลฯ ไม่เพียง แต่สตริง แต่ยังไม่ใช่ประเภทสตริงเช่นประเภทวันที่ "12 มีนาคม 2015", "12/03/2015" ยังสามารถเก็บไว้ได้ ชนิดข้อมูล varchar

ความแตกต่างระหว่าง Char กับ Varchar คืออะไร?

แม้ว่า char และ varchar เป็นฟิลด์ข้อมูลอักขระ char คือฟิลด์ข้อมูลความยาวคงที่และ varchar เป็นฟิลด์ข้อมูลขนาดที่หลากหลาย

• Char สามารถจัดเก็บอักขระสตริงที่ไม่ใช่ Unicode แบบถาวรได้ แต่ varchar สามารถเก็บสตริงขนาดต่างๆได้

• Char ดีกว่า varchar สำหรับข้อมูลที่เปลี่ยนแปลงบ่อย เนื่องจากแถวข้อมูลมีความยาวคงที่ไม่สามารถแบ่งส่วนได้

• Char จะครอบครองเฉพาะพื้นที่คงที่ที่กำหนดไว้เมื่อประกาศตัวแปร แต่ varchar จะครอบครองพื้นที่ตามข้อมูลที่แทรกและยังจะใช้ 1 หรือ 2 ไบต์เป็นคำนำหน้าความยาว

•หากข้อมูลมีค่าน้อยกว่า 255 ตัวอักษรจะมีการจัดสรรไบต์ 1 ไบต์และถ้าข้อมูลมีมากกว่า 255 ตัวอักษรจะถูกสงวนไว้ 2 ไบต์ ถ้าเราใช้ char ในการจัดเก็บแฟล็กของ 'Y' และ 'N' จะใช้หนึ่งไบต์ในการจัดเก็บ แต่เมื่อเราใช้ varchar จะใช้เวลาสองไบต์ในการจัดเก็บ flag รวมถึง byte เพิ่มเป็นคำนำหน้าความยาว

บทสรุป:

Char vs Varchar

Char และ varchar เป็นชนิดข้อมูลอักขระที่ใช้มากที่สุดในฐานข้อมูล Char ถูกใช้เพื่อเก็บสตริงที่มีความยาวคงที่ในขณะที่ varchar ใช้เพื่อเก็บสตริงที่มีความยาวแตกต่างกัน เพื่อให้ได้ผลการปฏิบัติงานที่ดีขึ้นจากข้อมูลจึงเป็นเรื่องสำคัญมากยิ่งขึ้นในการเลือกชนิดข้อมูลที่ถูกต้องสำหรับเขตข้อมูลของตารางในฐานข้อมูลของคุณ การใช้ข้อมูลประเภทที่เล็กที่สุดซึ่งสามารถเก็บข้อมูลได้อย่างถูกต้องจะน้อยกว่าเพราะใช้พื้นที่น้อยลงจากหน่วยความจำ

รูปภาพมารยาท: Varchar ผ่าน Wikicommons (โดเมนสาธารณะ)