我即將創建一個將保存客戶ID(GUID),數據點(字符串)和輸入時間的表。但是,我無法弄清楚如何最好地把它關鍵。我不能保證三元組ID /字符串/時間是唯一的(表格將包含用戶輸入,並且我們預見到一些用戶將嘗試腳本表單提交,因此時間可能沒有足夠的分辨率)。沒有主鍵或代理鍵?
我們將盡查找此表中很多時候,所以查詢速度是非常重要的。另一方面,插入物也不能完全癱瘓。
所以,我看到兩個選擇:要麼去無主鍵,或定義了代理自動增量鍵。鑑於上述要求,最好是什麼?我可以爲三個數據列使用代理鍵和非唯一索引嗎?
我們使用SQL Server 2008 R2。
*如果它沒有主鍵,這不是一個表* .... –
我想創建一個自動增量領域,並將此作爲主鍵。然後只需索引其他3列。一個索引可能已經足夠,這取決於您打算如何搜索表格 – Andrew
客戶ID +時間似乎很明顯會成爲一個獨特的組合!然而,這是一個毫無意義的問題,你會對自動增量更好。 –