今天下午與我的同事們討論了GUIDS與IDENTITY字段作爲主鍵的優點。從大數據背景來看,我本能地選擇了IDENTITY,但他們更偏向於網絡,他們更喜歡GUIDS。SPA中表格的GUID或ID
大部分的利弊是有據可查的,在這裏巧妙地概括:
http://databases.aspfaq.com/database/what-should-i-choose-for-my-primary-key.html
但我的同事做了點我不能回答,既不能谷歌,我想這是一個有趣的問題。在單頁面應用程序樣式系統中,爲了減少服務器往返行程,JavaScript模型(即Breeze JS)通常用於在提交之前臨時保存許多可能的數據庫更改。這增加了由於同時插入另一個表而導致表的IDENTITY字段增加的機會。當然,當你嘗試提交時會造成混亂。
在這種情況下,特別是考慮到SPA一般不會在數據庫級別存在性能瓶頸,那麼通常使用GUID更合理些嗎?或者我們是否誇大了堆疊多個更改提交的潛在問題?