主頁(yè) > 知識(shí)庫(kù) > 主鍵與聚集索引

主鍵與聚集索引

熱門(mén)標(biāo)簽:硅基電話機(jī)器人官網(wǎng) 西安電話自動(dòng)外呼系統(tǒng) 漯河電銷(xiāo)回?fù)芡夂粝到y(tǒng) 美國(guó)地圖標(biāo)注軟件下載 合肥crm外呼系統(tǒng)加盟 怎么修改高德地圖標(biāo)注 長(zhǎng)沙外呼系統(tǒng)平臺(tái) 電話機(jī)器人怎么看余額 城市地圖標(biāo)志怎么標(biāo)注

主鍵(PRIMARY KEY )
來(lái)自MSDN的描述:
表通常具有包含唯一標(biāo)識(shí)表中每一行的值的一列或一組列。這樣的一列或多列稱(chēng)為表的主鍵 (PK),用于強(qiáng)制表的實(shí)體完整性。在創(chuàng)建或修改表時(shí),您可以通過(guò)定義 PRIMARY KEY 約束來(lái)創(chuàng)建主鍵。
一個(gè)表只能有一個(gè) PRIMARY KEY 約束,并且 PRIMARY KEY 約束中的列不能接受空值。由于 PRIMARY KEY 約束可保證數(shù)據(jù)的唯一性,因此經(jīng)常對(duì)標(biāo)識(shí)列定義這種約束。
如果為表指定了 PRIMARY KEY 約束,則 SQL Server 2005 數(shù)據(jù)庫(kù)引擎 將通過(guò)為主鍵列創(chuàng)建唯一索引來(lái)強(qiáng)制數(shù)據(jù)的唯一性。當(dāng)在查詢中使用主鍵時(shí),此索引還可用來(lái)對(duì)數(shù)據(jù)進(jìn)行快速訪問(wèn)。因此,所選的主鍵必須遵守創(chuàng)建唯一索引的規(guī)則。
創(chuàng)建主鍵時(shí),數(shù)據(jù)庫(kù)引擎 會(huì)自動(dòng)創(chuàng)建唯一的索引來(lái)強(qiáng)制實(shí)施 PRIMARY KEY 約束的唯一性要求。如果表中不存在聚集索引或未顯式指定非聚集索引,則將創(chuàng)建唯一的聚集索引以強(qiáng)制實(shí)施 PRIMARY KEY 約束。
聚集索引
聚集索引基于數(shù)據(jù)行的鍵值在表內(nèi)排序和存儲(chǔ)這些數(shù)據(jù)行。每個(gè)表只能有一個(gè)聚集索引,因?yàn)閿?shù)據(jù)行本身只能按一個(gè)順序存儲(chǔ)。
每個(gè)表幾乎都對(duì)列定義聚集索引來(lái)實(shí)現(xiàn)下列功能:
可用于經(jīng)常使用的查詢。
提供高度唯一性。
兩者的比較
下面是一個(gè)簡(jiǎn)單的比較表 

  主鍵 聚集索引
用途 強(qiáng)制表的實(shí)體完整性 對(duì)數(shù)據(jù)行的排序,方便查詢用
一個(gè)表多少個(gè) 一個(gè)表最多一個(gè)主鍵 一個(gè)表最多一個(gè)聚集索引
是否允許多個(gè)字段來(lái)定義 一個(gè)主鍵可以多個(gè)字段來(lái)定義 一個(gè)索引可以多個(gè)字段來(lái)定義
     
是否允許 null 數(shù)據(jù)行出現(xiàn) 如果要?jiǎng)?chuàng)建的數(shù)據(jù)列中數(shù)據(jù)存在null,無(wú)法建立主鍵。
創(chuàng)建表時(shí)指定的 PRIMARY KEY 約束列隱式轉(zhuǎn)換為 NOT NULL。
沒(méi)有限制建立聚集索引的列一定必須 not null .
也就是可以列的數(shù)據(jù)是 null
參看最后一項(xiàng)比較
是否要求數(shù)據(jù)必須唯一 要求數(shù)據(jù)必須唯一 數(shù)據(jù)即可以唯一,也可以不唯一??茨愣x這個(gè)索引的 UNIQUE 設(shè)置。
(這一點(diǎn)需要看后面的一個(gè)比較,雖然你的數(shù)據(jù)列可能不唯一,但是系統(tǒng)會(huì)替你產(chǎn)生一個(gè)你看不到的唯一列)
     
創(chuàng)建的邏輯 數(shù)據(jù)庫(kù)在創(chuàng)建主鍵同時(shí),會(huì)自動(dòng)建立一個(gè)唯一索引。
如果這個(gè)表之前沒(méi)有聚集索引,同時(shí)建立主鍵時(shí)候沒(méi)有強(qiáng)制指定使用非聚集索引,則建立主鍵時(shí)候,同時(shí)建立一個(gè)唯一的聚集索引
如果未使用 UNIQUE 屬性創(chuàng)建聚集索引,數(shù)據(jù)庫(kù)引擎 將向表自動(dòng)添加一個(gè)四字節(jié) uniqueifier 列。
必要時(shí),數(shù)據(jù)庫(kù)引擎 將向行自動(dòng)添加一個(gè) uniqueifier 值,使每個(gè)鍵唯一。此列和列值供內(nèi)部使用,用戶不能查看或訪問(wèn)。

您可能感興趣的文章:
  • SQLSERVER的非聚集索引結(jié)構(gòu)深度理解
  • SQL Server 聚集索引和非聚集索引的區(qū)別分析
  • sqlserver 聚集索引和非聚集索引實(shí)例
  • SQLSERVER聚集索引和主鍵(Primary Key)的誤區(qū)認(rèn)識(shí)

標(biāo)簽:瀘州 吉林 商洛 濟(jì)源 廣西 玉溪 文山 撫順

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《主鍵與聚集索引》,本文關(guān)鍵詞  主鍵,與,聚集,索引,主鍵,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《主鍵與聚集索引》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于主鍵與聚集索引的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章