原文:GUID做主鍵真的合適嗎

在一個分布式環境中,我們習慣使用GUID做主鍵,來保證全局唯一,然后,GUID做主鍵真的合適嗎 其實GUID做主鍵本身沒有問題,微軟的很多項目自帶DB都是使用GUID做主鍵的,顯然,這樣做是沒有問題的。然而,SQL Server默認會將主鍵設置為聚集索引,使用GUID做聚集索引就有問題了。很多時候程序員容易接受SQL Server這一默認設置,但無序GUID做聚集索引顯然是低效的。 那么,我們在 ...

2019-08-26 23:24 1 1528 推薦指數:

查看詳情

使用Guid做主鍵和int做主鍵性能比較

使用Guid做主鍵和int做主鍵性能比較 在數據庫的設計中我們常常用Guid或int來做主鍵,根據所學的知識一直感覺int做主鍵效率要高,但沒有做仔細的測試無法 說明道理。碰巧今天在數據庫的優化過程中,遇到此問題,於是做了一下測試。 測試環境:   台式電腦 Pentiun(R ...

Fri Nov 11 23:23:00 CST 2016 2 4164
SQL GUID和自增列做主鍵的優缺點

我們公司的數據庫全部是使用GUID做主鍵的,很多人習慣使用int做主鍵。所以呢,這里總結一下,將兩種數據類型做主鍵進行一個比較。 使用INT做主鍵的優點: 1、需要很小的數據存儲空間,僅僅需要4 byte 。 2、insert和update操作時使用INT的性能比GUID好 ...

Mon Nov 17 20:47:00 CST 2014 3 14590
SQLSERVER如何使用遞增排序的GUID做主鍵

場景: 產品表數據量較大想用Guid做表的主鍵,並在此字段上建立聚簇索引。 因為Guid是隨機生成的,生成的值大小是不確定的,每次生成的數可能很大,也可能很小。這樣會影響插入的效率 1.NEWSEQUENTIALID和newid()的區別 NEWSEQUENTIALID() 和 NEWID ...

Sun Dec 04 03:10:00 CST 2016 0 3028
【轉】關於使用GUID和Identity做主鍵的一些思考

通常,給數據庫中的表都添加一個“無意義”的主鍵,能夠大大地簡化程序的開發。這個主鍵用什么類型呢?其實各種類型,只要大小不超過900字節都可以,但我們最常面臨 ...

Wed Mar 28 18:37:00 CST 2012 0 5147
【實戰】為什么不用UUID做主鍵

不易於存儲:UUID太長,16字節128位,通常以36長度的字符串表示,很多場景不適用。 信息不安全:基於MAC地址生成UUID的算法可能會造成MAC地址泄露,這個漏洞曾被用於尋找梅麗莎病毒的制作者位置。 ID作為主鍵時在特定的環境會存在一些問題,比如做DB主鍵的場景下 ...

Fri Sep 18 00:34:00 CST 2020 0 712
mysql5.5 uuid做主鍵與int做主鍵的性能實測

偶然的機會,得知mysql主鍵的類型采用 varchar 存UUID 的查詢性能沒有int型做主鍵好。網上查詢大量資料,都是停留在理論上的,因此,自己寫了代碼進行實測,以下結果僅供參考,不具備權威性。 三個表的字段,除了主鍵ID 分別采用varchar,bigint 和自動增長bigint ...

Fri Sep 29 03:44:00 CST 2017 0 2003
Mysql性能優化GUID主鍵

由於系統中大量使用GUID作為主鍵,導致數據文件大,數據查詢速度慢。意向轉為Int主鍵。先查看下單表測試GUID和Int分別作為主鍵的結果。 測試條件如下: AMD E1-1200 APU 1.4G 2GRam 100Lan, 250GB HD Mysql 5.5 ...

Thu Dec 04 02:22:00 CST 2014 0 3846
mysql5.5 uuid做主鍵與int做主鍵的性能實測

數據庫:mysql5.5 表類型:InnoDB 數據量:100W條 第一種情況: 主鍵采用uuid 32位。 運行查詢語句1:SELECT COUNT(id) FROM test_varchar; 運行查詢語句2:SELECT * FROM test_varchar ...

Mon Aug 05 17:43:00 CST 2013 0 5677
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM