ผมเคยถูกอ่านไปรอบ ๆ เหตุผลที่จะใช้หรือไม่และGuid
int
int
มีขนาดเล็กลงเร็วขึ้นและง่ายต่อการจดจำตามลำดับเวลา และสำหรับGuid
ข้อได้เปรียบเดียวที่ฉันพบคือมันไม่เหมือนใคร ในกรณีGuid
ใดจะดีกว่าint
และทำไม?
จากสิ่งที่ฉันเห็นint
ไม่มีข้อบกพร่องยกเว้นโดยการ จำกัด จำนวนซึ่งในหลายกรณีไม่เกี่ยวข้อง
ทำไมถึงถูกGuid
สร้างขึ้นมา? ฉันคิดว่ามันมีจุดประสงค์อื่นนอกเหนือจากการให้บริการเป็นกุญแจหลักของตารางง่ายๆ (ตัวอย่างของแอปพลิเคชันจริงที่ใช้Guid
กับบางสิ่ง)
(Guid = UniqueIdentifier) พิมพ์บน SQL Server
int
ไม่มีข้อบกพร่องยกเว้นโดย จำกัด จำนวนซึ่งในหลายกรณีไม่เกี่ยวข้อง": จริง ๆ แล้วในบริบทของ INT vs GUID นี้ขีด จำกัด สูงสุดของการลงนาม 32- บิตINT
นั้นไม่เกี่ยวข้องทั้งหมดเนื่องจากขีด จำกัด สูงสุดของการเซ็นชื่อ 64- บิตBIGINT
นั้นดีกว่าการใช้งานเกือบทุกอย่าง (ยิ่งถ้าคุณเริ่มนับเลขที่ขีด จำกัด ล่างและเหมือนกันก็ใช้INT
) และยังคงมีขนาดครึ่งหนึ่งของ GUID (8 ไบต์แทน 16) และเรียงตามลำดับ