新聞中心
SQL Server中可以以UniqueIdentifier數(shù)據(jù)類型選取SQL Server主鍵,下面就將為您介紹如何使用UniqueIdentifier選取SQL Server主鍵,供您參考。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、成都做網(wǎng)站與策劃設(shè)計,賓陽網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:賓陽等地區(qū)。賓陽做網(wǎng)站價格咨詢:18980820575
SQL Server為我們提供了UniqueIdentifier數(shù)據(jù)類型,并提供了一個生成函數(shù)NEWID( ),使用NEWID( )可以生成一個***的UniqueIdentifier。UniqueIdentifier在數(shù)據(jù)庫中占用16個字節(jié),出現(xiàn)重復(fù)的概率非常小,以至于可以認(rèn)為是0。我們經(jīng)常從注冊表中看到類似{45F0EB02-0727-4F2E-AAB5-E8AEDEE0CEC5}的東西實際上就是一個UniqueIdentifier,Windows用它來做COM組件以及接口的標(biāo)識,防止出現(xiàn)重復(fù)。在.NET里管UniqueIdentifier稱之為GUID(Global Unique Identifier)。在C#中可以使用如下命令生成一個GUID:
GUID u = System.Guid.NewGuid();
對于上面提到的Order與OrderDetail的程序,如果選用UniqueIdentifier作為SQL Server主鍵的話,我們完全可以避免上面提到的增加網(wǎng)絡(luò) RoundTrip的問題。通過程序直接生成GUID填充主鍵,不用考慮是否會出現(xiàn)重復(fù)。
UniqueIdentifier 字段也存在嚴(yán)重的缺陷:首先,它的長度是16字節(jié),是整數(shù)的4倍長,會占用大量存儲空間。更為嚴(yán)重的是,UniqueIdentifier的生成毫無規(guī)律可言,要想在上面建立索引(絕大多數(shù)數(shù)據(jù)庫在主鍵上都有索引)是一個非常耗時的操作。有人做過實驗,插入同樣的數(shù)據(jù)量,使用 UniqueIdentifier型數(shù)據(jù)做主鍵要比使用Integer型數(shù)據(jù)慢,所以,出于效率考慮,盡可能避免使用UniqueIdentifier型數(shù)據(jù)庫作為主鍵鍵值。
【編輯推薦】
SQL CHARINDEX函數(shù)的使用
SQL查詢時間段的語句寫法
三種SQL索引
SQL隱性事務(wù)實例
SQL事務(wù)的操作語法
文章題目:教您使用UniqueIdentifier選取SQLServer主鍵
URL地址:http://fisionsoft.com.cn/article/dpescpg.html


咨詢
建站咨詢
