程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> SQL GUID和自增列做主鍵的優缺點【轉載】,sqlguid

SQL GUID和自增列做主鍵的優缺點【轉載】,sqlguid

編輯:Oracle教程

SQL GUID和自增列做主鍵的優缺點【轉載】,sqlguid


    我們公司的數據庫全部是使用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會得到最佳的性能。

 

轉自:http://www.cnblogs.com/zhuqil/archive/2010/12/02/1894575.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved