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