2012-03-23 關(guān)鍵詞: 4073
蘇州網(wǎng)絡(luò)公司謝謝網(wǎng)絡(luò)告訴你設(shè)計(jì)數(shù)據(jù)庫(kù)主鍵用int自增型還是guid類型:
蘇州網(wǎng)絡(luò)公司在網(wǎng)站建設(shè)中都會(huì)使用到數(shù)據(jù)庫(kù),對(duì)于一些大型的網(wǎng)站開發(fā)、網(wǎng)站建設(shè),通常都會(huì)使用微軟的MS SQL數(shù)據(jù)庫(kù)。我們?cè)诮⒈淼臅r(shí)候一般都會(huì)設(shè)置一個(gè)主鍵列。
有的做網(wǎng)站的技術(shù)員會(huì)選擇int自增型的字段做主鍵,有的做網(wǎng)站的技術(shù)員會(huì)選擇guid類型的字段做主鍵,那么,她們誰優(yōu)誰劣呢,蘇州謝謝網(wǎng)絡(luò)來分析一下兩者的優(yōu)缺點(diǎn):
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、支持通過函數(shù)獲取最新的值,如:Scope_Indentity() 。
缺點(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ú)一無二的。
2、出現(xiàn)重復(fù)的機(jī)會(huì)少。
3、適合大量數(shù)據(jù)中的插入和更新操作。
4、跨服務(wù)器數(shù)據(jù)合并非常方便。
使用GUID做主鍵的缺點(diǎn):
1、存儲(chǔ)空間大(16 byte),因此它將會(huì)占用更多的磁盤大小。
2、很難記憶。join操作性能比int要低。
3、沒有內(nèi)置的函數(shù)獲取最新產(chǎn)生的guid主鍵。
4、GUID做主鍵將會(huì)添加到表上的所以其他索引中,因此會(huì)降低性能。
總結(jié):
上面列出了GUID和INT兩種數(shù)據(jù)類型做主鍵優(yōu)缺點(diǎn)。我覺得,對(duì)于大數(shù)據(jù)量,建議使用guid做主鍵。而使用int會(huì)得到最佳的性能。
蘇州謝謝網(wǎng)絡(luò) 蘇州網(wǎng)絡(luò)公司 蘇州網(wǎng)站建設(shè)
180 1557 7818
基礎(chǔ)型網(wǎng)站建設(shè)營(yíng)銷型網(wǎng)站設(shè)計(jì)品牌型網(wǎng)站建設(shè)高端定制網(wǎng)站設(shè)計(jì)定制系統(tǒng)開發(fā)
細(xì)致入微的前期服務(wù)
精準(zhǔn)的策劃服務(wù)
精湛的網(wǎng)頁(yè)設(shè)計(jì)
穩(wěn)定 可靠 極速的域名和服務(wù)器
任何問題,24小時(shí)回復(fù)并處理
版權(quán)所有:蘇州謝謝網(wǎng)絡(luò)傳媒有限公司 蘇ICP備11087090號(hào)