[英]Why does a database have a weird alphanumeric key
我正在嘗試連接兩個數據庫的數據,這兩個數據庫都是由不同的UI應用程序自動創建的。 一種是,所有密鑰的格式均為“ D8FC23D7-97D6-42F5-A52F-1CE93087B3A4”。
有什么理由要這樣做嗎? 我還看到了在GIS數據庫中看起來相似的鍵。 我無法確定這些鍵是否應該是某個計算鍵,也許無法檢測到我要執行的操作,還是只是出於某種隨機目的。
PS我正在使用SQL Server。 據我所知,這不是SQL Server自動生成的。
這是GUID,也稱為UUID,是通用的唯一標識符(例如,授予Wikipedia或rfc4122 )。 guid背后的想法是,應用程序可以生成全局唯一的標識符,而無需中央單元進行任何編排(請參見下面來自rfc4122的動機)。
各種系統,數據庫和編程語言都提供了用於生成UUID的功能(例如sql server中的SELECT NEWID()
)。 好處是使用UUID生成器,應用程序可以以自給自足的方式生成全局標識的單元。
UUID可以用作數據庫密鑰,盡管在大多數情況下,您會發現更加輕巧和更合適的密鑰。
使用UUID的主要原因之一是沒有集中式
需要對其進行管理(盡管使用一種格式
IEEE 802節點標識符,其他則沒有)。 結果,一代
按需可以完全自動化,並用於各種
目的。 如果此處描述的UUID生成算法支持很高的分配速率,則每台機器每秒最多可達到1000萬
是必要的,這樣它們甚至可以用作交易ID。UUID具有固定大小(128位),相當小
與其他替代品相比。 這很適合進行排序,
各種排序和散列,存儲在數據庫中,簡單
分配,並且總體上易於編程。由於UUID是唯一且持久的,因此它們是出色的統一資源名稱。 生成新UUID的獨特能力
注冊過程允許UUID成為具有以下特征的URN之一
最低的造幣成本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.