使用Guid做主鍵和int做主鍵性能比較 在數據庫的設計中我們常常用Guid或int來做主鍵,根據所學的知識一直感覺int做主鍵效率要高,但沒有做仔細的測試無法 說明道理。碰巧今天在數據庫的優化過程中,遇到此問題,於是做了一下測試。 測試環境: 台式電腦 Pentiun(R ...
在一個分布式環境中,我們習慣使用GUID做主鍵,來保證全局唯一,然后,GUID做主鍵真的合適嗎 其實GUID做主鍵本身沒有問題,微軟的很多項目自帶DB都是使用GUID做主鍵的,顯然,這樣做是沒有問題的。然而,SQL Server默認會將主鍵設置為聚集索引,使用GUID做聚集索引就有問題了。很多時候程序員容易接受SQL Server這一默認設置,但無序GUID做聚集索引顯然是低效的。 那么,我們在 ...
2019-08-26 23:24 1 1528 推薦指數:
使用Guid做主鍵和int做主鍵性能比較 在數據庫的設計中我們常常用Guid或int來做主鍵,根據所學的知識一直感覺int做主鍵效率要高,但沒有做仔細的測試無法 說明道理。碰巧今天在數據庫的優化過程中,遇到此問題,於是做了一下測試。 測試環境: 台式電腦 Pentiun(R ...
我們公司的數據庫全部是使用GUID做主鍵的,很多人習慣使用int做主鍵。所以呢,這里總結一下,將兩種數據類型做主鍵進行一個比較。 使用INT做主鍵的優點: 1、需要很小的數據存儲空間,僅僅需要4 byte 。 2、insert和update操作時使用INT的性能比GUID好 ...
場景: 產品表數據量較大想用Guid做表的主鍵,並在此字段上建立聚簇索引。 因為Guid是隨機生成的,生成的值大小是不確定的,每次生成的數可能很大,也可能很小。這樣會影響插入的效率 1.NEWSEQUENTIALID和newid()的區別 NEWSEQUENTIALID() 和 NEWID ...
通常,給數據庫中的表都添加一個“無意義”的主鍵,能夠大大地簡化程序的開發。這個主鍵用什么類型呢?其實各種類型,只要大小不超過900字節都可以,但我們最常面臨 ...
不易於存儲:UUID太長,16字節128位,通常以36長度的字符串表示,很多場景不適用。 信息不安全:基於MAC地址生成UUID的算法可能會造成MAC地址泄露,這個漏洞曾被用於尋找梅麗莎病毒的制作者位置。 ID作為主鍵時在特定的環境會存在一些問題,比如做DB主鍵的場景下 ...
偶然的機會,得知mysql主鍵的類型采用 varchar 存UUID 的查詢性能沒有int型做主鍵好。網上查詢大量資料,都是停留在理論上的,因此,自己寫了代碼進行實測,以下結果僅供參考,不具備權威性。 三個表的字段,除了主鍵ID 分別采用varchar,bigint 和自動增長bigint ...
由於系統中大量使用GUID作為主鍵,導致數據文件大,數據查詢速度慢。意向轉為Int主鍵。先查看下單表測試GUID和Int分別作為主鍵的結果。 測試條件如下: AMD E1-1200 APU 1.4G 2GRam 100Lan, 250GB HD Mysql 5.5 ...
數據庫:mysql5.5 表類型:InnoDB 數據量:100W條 第一種情況: 主鍵采用uuid 32位。 運行查詢語句1:SELECT COUNT(id) FROM test_varchar; 運行查詢語句2:SELECT * FROM test_varchar ...