轉帖|其它|編輯:郝浩|2011-01-24 15:50:40.000|閱讀 1218 次
概述:我們公司的數據庫全部是使用GUID做主鍵的,很多人習慣使用int做主鍵。所以呢,這里總結一下,將兩種數據類型做主鍵進行一個比較。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
我們公司的數據庫全部是使用GUID做主鍵的,很多人習慣使用int做主鍵。所以呢,這里總結一下,將兩種數據類型做主鍵進行一個比較。
使用INT做主鍵的優點:
1、需要很小的數據存儲空間,僅僅需要4 byte 。
2、insert和update操作時使用INT的性能比GUID好,所以使用int將會提高應用程序的性能。
3、index和Join 操作,int的性能最好。
4、容易記憶。
5、支持通過函數獲取最新的值,如:Scope_Indentity() 。
使用INT做主鍵的缺點
1、如果經常有合并表的操作,就可能會出現主鍵重復的情況。
2、使用INT數據范圍有限制。如果存在大量的數據,可能會超出INT的取值范圍。
3、很難處理分布式存儲的數據表。
使用GUID做主鍵的優點:
1、它是獨一無二的。
2、出現重復的機會少。
3、適合大量數據中的插入和更新操作。
4、跨服務器數據合并非常方便。
使用GUID做主鍵的缺點:
1、存儲空間大(16 byte),因此它將會占用更多的磁盤大小。
2、很難記憶。join操作性能比int要低。
3、沒有內置的函數獲取最新產生的guid主鍵。
4、GUID做主鍵將會添加到表上的所以其他索引中,因此會降低性能。
總結:
上面列出了GUID和INT兩種數據類型做主鍵優缺點。我覺得,對于大數據量,建議使用guid做主鍵。而使用int會得到最佳的性能。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載