GUID基本概念及C#、SqlServer中GUID基本用法

來源:互聯網
上載者:User

標籤:總數   應用   長度   sel   儲存空間   tostring   情況   數字   write   

通用唯一識別碼(GUID,Globally Unique Identifier)是一種由演算法產生的二進位長度為128位的數位識別碼符。在理想情況下,任何電腦和電腦叢集都不會產生兩個相同的GUID。GUID 的總數達到了2^128(3.4×10^38)個,所以隨機產生兩個相同GUID的可能性非常小,但並不為0,用於產生GUID的演算法通常都加入了非隨機的參數(如時間),以保證這種重複的情況不會發生。

GUID字串形式格式是“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中x表示0-9或a-z中的任一字元,例如5ff62d65-492f-4b30-81b4-d0c23a4560dd就是一GUID字串。

 

用C#中產生GUID(預設小寫):

//產生新guidGuid guid1 = Guid.NewGuid();Console.WriteLine(guid1.ToString());//利用guid字串構造出guidGuid guid2 = new Guid(guid1.ToString());Console.WriteLine(guid2.ToString());Console.ReadLine();

用Sql Server產生GUID(預設大寫):

select NEWID()

Sql Server資料庫表中資料類型是uniqueidentifier的列即儲存GUID字串。

 

缺點:

1.GUID 值較長,不容易記憶和輸入,而且這個值是隨機、無順序的。

2.GUID 值有 16 個位元組,與其它那些諸如 4 位元組的整數相比要相對大一些。這意味著如果在資料庫中使用 uniqueidentifier 列作為主鍵,可能會帶來兩方面的消極影響:儲存空間增大;索引時間較慢。

優點:

1.同 IDENTITY 列相比,uniqueidentifier 列可以通過 NewID() 函數提前得知新增加的行 ID,為應用程式的後續處理提供了很大方便。

2.便於資料庫移植,其它資料庫中並不一定具有 IDENTITY 列,而 Guid 列可以作為字元型列轉換到其它資料庫中,同時將應用程式中產生的 GUID 值存入資料庫,它不會對目標資料帶來影響。

3.便於資料庫初始化,如果應用程式要載入一些初始資料, IDENTITY 列的處理方式就比較麻煩,而 uniqueidentifier 列則無需任何處理,直接用 T-SQL 載入即可。

4.便於對某些對象或常量進行永久標識,如類的 ClassID、對象的執行個體標識等。

 

GUID基本概念及C#、SqlServer中GUID基本用法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.