場景: 產品表數據量較大想用Guid做表的主鍵,並在此字段上建立聚簇索引。 因為Guid是隨機生成的,生成的值大小是不確定的,每次生成的數可能很大,也可能很小。這樣會影響插入的效率 1.NEWSEQUENTIALID和newid()的區別 NEWSEQUENTIALID() 和 NEWID ...
使用Guid做主鍵和int做主鍵性能比較 在數據庫的設計中我們常常用Guid或int來做主鍵,根據所學的知識一直感覺int做主鍵效率要高,但沒有做仔細的測試無法 說明道理。碰巧今天在數據庫的優化過程中,遇到此問題,於是做了一下測試。 測試環境: 台式電腦 Pentiun R Cpu . GHz Win XP professional . G DDR RAM SQL Server 個人版 測試過程: ...
2016-11-11 15:23 2 4164 推薦指數:
場景: 產品表數據量較大想用Guid做表的主鍵,並在此字段上建立聚簇索引。 因為Guid是隨機生成的,生成的值大小是不確定的,每次生成的數可能很大,也可能很小。這樣會影響插入的效率 1.NEWSEQUENTIALID和newid()的區別 NEWSEQUENTIALID() 和 NEWID ...
在一個分布式環境中,我們習慣使用GUID做主鍵,來保證全局唯一,然后,GUID做主鍵真的合適嗎? 其實GUID做主鍵本身沒有問題,微軟的很多項目自帶DB都是使用GUID做主鍵的,顯然,這樣做是沒有問題的。然而,SQL Server默認會將主鍵設置為聚集索引,使用GUID做聚集索引就有問題 ...
偶然的機會,得知mysql主鍵的類型采用 varchar 存UUID 的查詢性能沒有int型做主鍵好。網上查詢大量資料,都是停留在理論上的,因此,自己寫了代碼進行實測,以下結果僅供參考,不具備權威性。 三個表的字段,除了主鍵ID 分別采用varchar,bigint 和自動增長bigint ...
數據庫:mysql5.5 表類型:InnoDB 數據量:100W條 第一種情況: 主鍵采用uuid 32位。 運行查詢語句1:SELECT COUNT(id) FROM test_varchar; 運行查詢語句2:SELECT * FROM test_varchar ...
的兩種選擇是——GUID(UniqueIdentifity)和Identity INT。《ADO.NET ...
我們公司的數據庫全部是使用GUID做主鍵的,很多人習慣使用int做主鍵。所以呢,這里總結一下,將兩種數據類型做主鍵進行一個比較。 使用INT做主鍵的優點: 1、需要很小的數據存儲空間,僅僅需要4 byte 。 2、insert和update操作時使用INT的性能比GUID好 ...
當我們默認新建一個ASP.NET MVC項目的時候,使用的身份認證系統是ASP.NET Identity.但是這里的Identity使用的主鍵為String類型的GUID.當然這是大多數系統首先類型.但是因為歷史原因,而我們公司所有項目主鍵都是用的Int類型(這里不討論int和GUID的優劣 ...
不易於存儲:UUID太長,16字節128位,通常以36長度的字符串表示,很多場景不適用。 信息不安全:基於MAC地址生成UUID的算法可能會造成MAC地址泄露,這個漏洞曾被用於尋找梅麗莎病毒的制作者位置。 ID作為主鍵時在特定的環境會存在一些問題,比如做DB主鍵的場景下 ...