![](/img/trans.png)
[英]How to reference or join a table that has a varchar primary key with a table that has an INT primary Key (SQL server)
[英]SQL : multiple INT columns as primary key, or a VARCHAR?
如果我有下表,創建主鍵的最佳做法是什么?
這 3 個INT
的組合將始終創建一個唯一標識符,即我的主鍵。 我應該將所有三列都分配給主鍵嗎?
col1 | col2 | col3
1 50 1540
2 50 1540
1 50 1541
1 51 1540
將單列主鍵創建為CHAR(N)
或VARCHAR
會更聰明,如下所示?
50_1540_1
50_1540_2
50_1541_1
51_1540_1
我正在考慮性能問題,因為該表可能超過 1 億行
哪個更聰明? 對於這種特殊情況,將所有三列分配為主鍵。 以下是三個原因:
也就是說,我不喜歡復合主鍵。 我建議您使用unique
約束(或索引)聲明這三個。 然后有一個自動遞增的鍵作為表的主鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.