蘇州網絡公司謝(xiè)謝(xiè)網絡告訴你(nǐ)設計(jì)數(shù)據庫主鍵用(yòng)int自(zì)增型還(hái)是(shì)guid類型:
蘇州網絡公司在網站(zhàn)建設中都(dōu)會(huì)使用(yòng)到(dào)數(shù)據庫,對(duì)于一(yī)些(xiē)大(dà)型的(de)網站(zhà∏n)開(kāi)發、網站(zhàn)建設,通(tōng)常都(dōu)會(huì)使用(yòng)微(wēi) 軟的(de)MS SQL數(shù)據庫。我們在建立表的(de)時(shí)候一(yī)般都(dōu)會(σhuì)設置一(yī)個(gè)主鍵列。
有(yǒu)的(de)做(zuò)網站(zhàn)的(de)技(jì)術(shù)員(yuán)會(huì)選擇int自(zì)增型的(de)字段做(zuò)主鍵,有(yǒu)的(de§)做(zuò)網站(zhàn)的(de)技(jì)術(shù)員(yuán)會(huì)選擇guid類型的(de)字段做γ(zuò)主鍵,那(nà)麽,她(tā)們誰優誰劣呢(ne),蘇州謝(xiè)謝(xiè)網絡來(lái)分(fēn)析一(yī)下(xià)$兩者的(de)優缺點:
INT字段類型做(zuò)主鍵的(de)優點:
1、需要(yào)很(hěn)小(xiǎo)的(de)數(shù)據存 儲空(kōng)間(jiān),僅僅需要(yào)4 byte 。
2、insert和(hé)update操作(zuò)時(shí)使用(yòng)INT的(de)性能¶(néng)比GUID好(hǎo),所以使用(yòng)int将會(huì)提高(gāo)應用(yòng)程序的(de)性能(néng)。
3、index和(hé)Join 操作(zuò),int的(d♦e)性能(néng)最好(hǎo)。
4、容易記憶。
5、支持通(tōng)過函數(shù)獲取最新的(de)值,如(rú):Scope_Indentity() 。
缺點
1、如(rú)果經常有(yǒu)合并表的(de)操作(zuò),就(jiù)可(kě)能(néng)會(huì)出現(xià≤n)主鍵重複的(de)情況。
2、使用(yòng)INT數(shù)據範圍有(yǒu)限制(zhì)©。如(rú)果存在大(dà)量的(de)數(shù)據,可(kě)能(néng)會(huì)超出INT的(de)取值範圍。
3、很(hěn)難處理(lǐ)分(fēn)布式存儲的(de)數(shù)據表。
GUID字段類型做(zuò)主鍵的(de)優點:
1、它是(shì)獨一(yī)無二的(de)。
2、出現(xiàn)重複的(de)機(jī)會(huì)少(shǎo)。
3、适合大(dà)量數(shù)據中的(de)插入和(hé)更新操作(zuò)。
4、跨服務器(qì)數(shù)據合并非常方便。
使用(yòng)GUID做(zuò)主鍵的(de)缺點:
1、存儲空(kōng)間(jiān)大(dà)(16 byte),因此它将會(huì)占用(yòng)更多(d₹uō)的(de)磁盤大(dà)小(xiǎo)。
2、很(hěn)難記憶。join操作(zuò)性能(néng)比int要(yào)低(dī)。
3、沒有(yǒu)內(nèi)置的(de)函數(shù)獲取最新産生(shēng)的®(de)guid主鍵。
4、GUID做(zuò)主鍵将會(huì)添加到(dào)表上(shàng)的(de)所以其他(tā)索引中,因此會(huì)降低(dī)性能(♣néng)。
總結:
上(shàng)面列出了(le)GUID和(hé)INT兩種數(shù)據類型做(zuò$)主鍵優缺點。我覺得(de),對(duì)于大(dà)數(shù)據量,建議(yì)使用(yòng)guid做(zuò)主鍵。而使用(yòng)iΩnt會(huì)得(de)到(dào)最佳的(de)性能(néng)。
蘇州謝(xiè)謝(xiè)網絡 蘇州網絡公司 蘇州網站(zhàn)建設