ฉันได้ทำการสืบค้น SQL ทิ้งของ CMS ที่มีชื่อเสียงบางตัวรวมถึง Drupal 7, Wordpress (บางรุ่นที่ค่อนข้างเก่า) และแอปพลิเคชันที่กำหนดเองบางตัวที่ใช้ Python
ดัมพ์เหล่านี้ทั้งหมดมีข้อมูลที่มีแฟล็กสตริงแทนค่าจำนวนเต็ม ยกตัวอย่างเช่นสถานะการโพสต์ได้แสดงเป็นpublished
, closed
หรือinherit
มากกว่า1
, หรือ2
3
ฉันมีประสบการณ์ค่อนข้าง จำกัด ในการออกแบบฐานข้อมูลและฉันไม่เคยผ่าน SQL แบบง่าย ๆ มาก่อน แต่ฉันได้รับการสอนเสมอว่าฉันควรใช้ตัวเลข / จำนวนเต็มสำหรับข้อมูลเช่นนี้ ก็ชัดเจนว่าพื้นที่กินมากน้อยในฐานข้อมูลกว่ายกตัวอย่างเช่นtinyint
varchar(9)
แล้วฉันจะพลาดอะไรไป? นี่ไม่ใช่การจัดเก็บข้อมูลและการสำรองข้อมูลซ้ำซ้อนหรือไม่ การเรียกดูการค้นหาและการจัดทำดัชนีจะไม่เร็วกว่านี้ไหมถ้าคอลัมน์เหล่านี้ใช้จำนวนเต็มแทนที่จะเป็นสตริง
char
? ประสิทธิภาพต่ำแค่ไหน!" ล้าสมัยเมื่อเทียบกับ 2558