在一個分布式環境中,我們習慣使用GUID做主鍵,來保證全局唯一,然后,GUID做主鍵真的合適嗎? 其實GUID做主鍵本身沒有問題,微軟的很多項目自帶DB都是使用GUID做主鍵的,顯然,這樣做是沒有問題的。然而,SQL Server默認會將主鍵設置為聚集索引,使用GUID做聚集索引就有問題 ...
我們公司的數據庫全部是使用GUID做主鍵的,很多人習慣使用int做主鍵。所以呢,這里總結一下,將兩種數據類型做主鍵進行一個比較。 使用INT做主鍵的優點: 需要很小的數據存儲空間,僅僅需要 byte 。 insert和update操作時使用INT的性能比GUID好,所以使用int將會提高應用程序的性能。 index和Join 操作,int的性能最好。 容易記憶。 支持通過函數獲取最新的值,如:Sc ...
2014-11-17 12:47 3 14590 推薦指數:
在一個分布式環境中,我們習慣使用GUID做主鍵,來保證全局唯一,然后,GUID做主鍵真的合適嗎? 其實GUID做主鍵本身沒有問題,微軟的很多項目自帶DB都是使用GUID做主鍵的,顯然,這樣做是沒有問題的。然而,SQL Server默認會將主鍵設置為聚集索引,使用GUID做聚集索引就有問題 ...
使用Guid做主鍵和int做主鍵性能比較 在數據庫的設計中我們常常用Guid或int來做主鍵,根據所學的知識一直感覺int做主鍵效率要高,但沒有做仔細的測試無法 說明道理。碰巧今天在數據庫的優化過程中,遇到此問題,於是做了一下測試。 測試環境: 台式電腦 Pentiun(R ...
場景: 產品表數據量較大想用Guid做表的主鍵,並在此字段上建立聚簇索引。 因為Guid是隨機生成的,生成的值大小是不確定的,每次生成的數可能很大,也可能很小。這樣會影響插入的效率 1.NEWSEQUENTIALID和newid()的區別 NEWSEQUENTIALID() 和 NEWID ...
結點的索引(稀疏索引),葉子結點相當於是存儲(關鍵字)數據的數據層; 2、如果我們定義了主鍵( ...
結點的索引(稀疏索引),葉子結點相當於是存儲(關鍵字)數據的數據層; 2、如果我們定義了主鍵( ...
通常,給數據庫中的表都添加一個“無意義”的主鍵,能夠大大地簡化程序的開發。這個主鍵用什么類型呢?其實各種類型,只要大小不超過900字節都可以,但我們最常面臨 ...
自增主鍵 自增ID是在設計表時將id字段的值設置為自增的形式,這樣當插入一行數據時無需指定id會自動根據前一字段的ID值+1進行填充。在MySQL數據庫中,可通過sql語句AUTO_INCREMENT來對特定的字段啟用自增賦值 使用自增ID作為主鍵,能夠保證字段的原子性 ...
主鍵應該怎樣設計?目前主要用到的主鍵方案共三種 自動增長主鍵 手動增長主鍵 UNIQUEIDENTIFIER主鍵 1、先說自動增長主鍵,它的優點是簡單,類型支持bigint.但是它有致命的弱點: 當我們需要在多個數據庫間進行數據的復制時(SQL Server的數據分發、訂閱機制允許 ...