我最近開始一個新的工作,並注意到所有的SQL表都使用主鍵的GUID數據類型。SQL GUID與整數
在我以前的工作中,我們使用整數(自動遞增)作爲主鍵,在我看來這更容易處理。
例如,假設您有兩個相關的表格;產品和產品類型 - 我可以很容易地跨兩個表中的'ProductTypeID'列檢查特定行,以快速映射數據,因爲它容易存儲數字(2,4,45等),而不是(E75B92A3- 3299-4407-A913-C5CA196B3CAB)。
額外的挫折來自我想了解這些表是如何關聯的,遺憾的是沒有數據庫圖:(
很多人說,GUID的更好,因爲你可以在C#中定義的獨特IDENTIFER代碼例如使用NewID()而不需要SQL SERVER來完成它 - 這也允許您臨時知道該ID是什麼......但我已經看到,仍然可以檢索'下一個自動遞增的整數'
一位DBA承包商報告說,如果我們使用Integer類型而不是GUIDS,我們的查詢速度可能會高出30%...
爲什麼存在GUID數據類型,它的真正優勢是什麼?......即使某些專業人士選擇了它,但是爲什麼它的實現還需要一些很好的理由?
可能重複http://stackoverflow.com/questions/829284/guid-vs -int-identity) – 2012-04-18 03:03:04