โดยทั่วไปฉันมักจะใช้ Ints ฉันรู้ว่าในทางทฤษฎีแล้วนี่ไม่ใช่วิธีปฏิบัติที่ดีที่สุดเนื่องจากคุณควรใช้ประเภทข้อมูลที่เล็กที่สุดที่จะรับประกันการจัดเก็บข้อมูล
ตัวอย่างเช่นจะดีกว่าที่จะใช้tinyint
เมื่อคุณรู้ว่าข้อมูลเดียวที่คุณจะจัดเก็บคือ 1, 0 หรือ null (มีโอกาสน้อยมากที่จะขยายไปยัง 2 หรือ 3 ในภายหลัง)
อย่างไรก็ตามเหตุผลเดียวที่ฉันรู้ในการทำเช่นนี้คือเพื่อวัตถุประสงค์ในการจัดเก็บข้อมูล - ใช้ 1 ไบต์ในแถวแทนที่จะเป็น 4 ไบต์
อะไรคือผลกระทบของการใช้tinyint
(หรือsmallint
หรือbigint
มากกว่า) int
นอกเหนือจากการประหยัดพื้นที่บนฮาร์ดไดรฟ์ของคุณ?
I'd use an ENUM for such a thing.
ไม่ได้อยู่ใน SQL Server คุณจะไม่ทำเช่นนั้นเนื่องจากมันไม่มีการแจกแจงใด ๆ