ฐานข้อมูลมีความกังวลอย่างมากกับประสิทธิภาพ - ความเร็วและการลดการจัดเก็บ ในส่วนอื่น ๆ ของโลกคอมพิวเตอร์คุณจะไม่ต้องกังวลเกี่ยวกับจำนวนอักขระในสตริงอักขระของคุณ มันอาจเป็นหนึ่งมันอาจเป็นเนื้อหาทั้งหมดของสารานุกรม มันเป็นเพียงแค่สตริง ในความเป็นจริงภาษาจำนวนมากไม่ได้รบกวนคุณเกี่ยวกับว่าเป็นสตริงหรือตัวเลข
แต่เมื่อคอมพิวเตอร์เร็วขึ้นและเพิ่มหน่วยความจำมากขึ้นผู้คนจะนำข้อมูลเข้าสู่ฐานข้อมูลมากขึ้น สำหรับซีพียูฐานข้อมูลและหน่วยความจำนั้น จำกัด อยู่ในทุกวันนี้เหมือนกับในหน่วยความจำหลัก 64Kb และฮาร์ดไดรฟ์ 10Mb (ในคอมพิวเตอร์เมนเฟรม )
จำนวนไบต์คงที่นั้นง่ายต่อการจัดการมากกว่าหมายเลขความยาวผันแปร 10 ไบต์ง่ายต่อการจัดการมากกว่า 1,000,000 ดังนั้นฐานข้อมูลของคุณต้องการให้คุณให้เบาะแสเพื่อให้สามารถให้ผลลัพธ์เป็นกิกะไบต์จากเทอร์ราไบต์ของข้อมูลในหน่วยไมโครวินาที หากคุณไม่ได้ใช้ฐานข้อมูลของคุณอย่างหนักคุณจะไม่ต้องการความเร็วที่เสนอและจะรำคาญกับคำถามที่ไม่จำเป็น แต่ถ้าคุณต้องการการแสดงคุณก็ยินดีที่จะให้คำแนะนำ
ตามที่ระบุไว้ในคำตอบอื่น ๆ ใช้char
ถ้ามันใช้จำนวนอักขระเสมอvarchar
ถ้าความยาวสามารถเปลี่ยนแปลงได้ แต่มันก็ไม่ได้ใหญ่เกินไป (ฉันเดาว่า DB ส่วนใหญ่ถือว่าเป็นchar
หรือtext
ขึ้นอยู่กับขนาด) และtext
ถ้ามัน อาจมีความยาวเท่าใดก็ได้ หากพยายาม SQL ของคุณที่จะใช้text
คอลัมน์มันอาจจะดีที่สุดที่จะสรุปว่าอย่างใดและวางไว้ในchar
หรือเล็กvarchar
คอลัมน์ยังแล้วทำwhere
'และorder by
' s ว่า แน่นอนว่าการแสดงนั้นสำคัญกับคุณ
text
เลิก นอกจากนี้ยังมีข้อควรพิจารณาเกี่ยวกับการใช้งานที่เกี่ยวข้องกับการจัดเก็บข้อมูลและวิธีการเข้าถึงข้อมูล