第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于數(shù)據(jù)庫表的主鍵ID的數(shù)據(jù)類型(使用GUID和自增長類型)的疑惑

我發(fā)現(xiàn)好多的項目中現(xiàn)在流行的數(shù)據(jù)表主鍵是GUID,一般在數(shù)據(jù)庫中的存儲類型為char(36)。但是我個人感覺這個設計很浪費資源:一是字段長度是36(點位36字節(jié)),而自增長只占8字節(jié)(int);二是貌似在此字段上建立索引沒有什么實際作用(GUID中字符無序的);三是在二、三范式下關聯(lián)查詢時主鍵偏偏又是關聯(lián)字段,增加了記錄的行長度的同時查詢用索引又無實際效果。在這三種情況下我覺得用GUID做主鍵簡直是“暴殄天物”(個人認為),可為什么還有好多人這么用呢?而且在百度找這方面的資料時,看到有人說用自增長作主鍵的人都是國內不專業(yè)的開發(fā)人員(聽那口氣貌似對這樣的人很不屑的樣子)。


我就疑惑了,用GUID作主鍵就很專業(yè)嗎,那么對于數(shù)據(jù)查詢速度的考慮呢?

老師,你們在開發(fā)過程中是用什么做主鍵的呢,很糾結,希望老師能回復下,謝謝

正在回答

1 回答

對于大數(shù)據(jù)量,建議使用guid做主鍵。而使用int會得到最佳的性能。公司一般都會是為了安全防止注入等讓別人獲取不到數(shù)據(jù),一般都是數(shù)據(jù)會加密的,而int作為主鍵的確適合數(shù)據(jù),但是如果數(shù)據(jù)大量超出int呢。而且他很難控制分布式的數(shù)據(jù)表。

使用INT做主鍵的優(yōu)點:

??? 1、需要很小的數(shù)據(jù)存儲空間,僅僅需要4 byte 。

??? 2、insert和update操作時使用INT的性能比GUID好,所以使用int將會提高應用程序的性能。

??? 3、index和Join 操作,int的性能最好。

??? 4、容易記憶。

??? 5、支持通過函數(shù)獲取最新的值,如:Scope_Indentity() 。

使用INT做主鍵的缺點

??? 1、如果經常有合并表的操作,就可能會出現(xiàn)主鍵重復的情況。

??? 2、使用INT數(shù)據(jù)范圍有限制。如果存在大量的數(shù)據(jù),可能會超出INT的取值范圍。

??? 3、很難處理分布式存儲的數(shù)據(jù)表。

使用GUID做主鍵的優(yōu)點:

??? 1、它是獨一無二的。

??? 2、出現(xiàn)重復的機會少。

??? 3、適合大量數(shù)據(jù)中的插入和更新操作。

??? 4、跨服務器數(shù)據(jù)合并非常方便。

使用GUID做主鍵的缺點:

??? 1、存儲空間大(16 byte),因此它將會占用更多的磁盤大小。

??? 2、很難記憶。join操作性能比int要低。

??? 3、沒有內置的函數(shù)獲取最新產生的guid主鍵。

??? 4、GUID做主鍵將會添加到表上的所以其他索引中,因此會降低性能。


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于數(shù)據(jù)庫表的主鍵ID的數(shù)據(jù)類型(使用GUID和自增長類型)的疑惑

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號