成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對SQL Server聚集索引的指示綜合描述

數(shù)據(jù)庫 SQL Server
數(shù)據(jù)庫索引在當今的數(shù)據(jù)庫操作中是非常重要的一個環(huán)節(jié),正是數(shù)據(jù)庫索引的出現(xiàn)加快了數(shù)據(jù)庫搜索的速度,給數(shù)據(jù)庫的管理帶來了很大的便利,SQL Server聚集索引則是數(shù)據(jù)庫索引的升級版。

導(dǎo)讀:文章主要描述的是SQL Server聚集索引的指示,在實際操作中借助聚集索引來進行搜索行,在一般的情況下會比借助非聚集索引來搜索行快主要有兩個原因。下文中將為大家詳細分析分析。

原因一是聚集索引只包含了一個指向頁的指針而不是指向單個數(shù)據(jù)行的指針;所以,一個聚集索引比非聚集索引更緊湊。因為SQL Server聚集索引更小并且不需要額外的書簽查找來發(fā)現(xiàn)匹配的行,而且比相似定義的非聚集索引可通過更少的頁的讀操作來發(fā)現(xiàn)行。

第二個原因是聚集索引的表中的數(shù)據(jù)物理上就是按照聚集鍵來存放,搜索重復(fù)值或者聚集鍵的一個范圍值更快;行之間相互鄰接并且SQL Server能簡單定位第一個滿足條件的行然后順序搜索直到發(fā)現(xiàn)最后一個滿足條件的行。然而,每個表上只能創(chuàng)建一個聚集索引,你必須明智地選擇在哪個列或哪些列上來定義聚集索引。

如果你要求在一個表上只創(chuàng)建一個單獨的索引,那創(chuàng)建SQL Server聚集索引有很大優(yōu)勢;則結(jié)果就是在修改、插入和刪除時的負擔將比創(chuàng)建非聚集索引的負擔要小的多。

默認情況下,表中的主鍵將被定義為聚集的唯一索引。在大多數(shù)應(yīng)用中,表上的主鍵列總是以單行查找的方式來檢索。對于單行查找,一個非聚集索引通常比一個相似的聚集索引花費更少的I/O代價。你或者你的用戶真正注意過讀三頁去檢索單個數(shù)據(jù)行和四到六頁去檢索單個數(shù)據(jù)行之間的區(qū)別嗎?不一定。然而,如果你執(zhí)行一個范圍檢索,比如查找last name,你將會注意到掃描表的10%和使用全表掃描來發(fā)現(xiàn)行之間的區(qū)別嗎?一定會的。

根據(jù)這種思想,你可能想為你的主鍵創(chuàng)建一個唯一的非聚集索引,并選擇其他候選列做為你的聚集索引。下面就是一些指南,可以幫助你來選擇SQL Server聚集索引的潛在的候選者:

一些頻繁搜索的具有許多重復(fù)值的列,比如, where last_name = 'Smith' 因為數(shù)據(jù)物理上是有序的,所有的重復(fù)值將聚集在一起。任何一個對該鍵值的查詢將會用最小的I/O來發(fā)現(xiàn)所有的值。SQL Server 定位第一個滿足SARG的行,然后按順序掃描數(shù)據(jù)直到找到最后一個滿足SARG的行。

經(jīng)常被ORDER BY子句指定的列。

因為數(shù)據(jù)已經(jīng)是有序的,如果ORDER BY 是關(guān)于聚集索引的,那SQL Server將避免重新排序。記住:即使對一個表掃描,數(shù)據(jù)也將會按照聚集鍵值的順序檢索,因為數(shù)據(jù)表上的數(shù)據(jù)是按照聚集鍵值排序。

經(jīng)常按照一個范圍值進行查詢的列,例如,Where price between ¥10 and ¥20 使用聚集索引首先定位第一個滿足范圍條件的行。因為表中的行按順序排列,SQL Server能簡單按順序掃描數(shù)據(jù)頁直到最后個滿足范圍的條件的行。當滿足條件的結(jié)果集非常大,從執(zhí)行的邏輯I/O來講,SQL Server聚集索引掃描將比借助非聚集索引重復(fù)進行書簽查找更有效。

除了主鍵外,頻繁使用在join子句中的列。聚集索引趨向于比非聚集索引更小;每個查找需要頁的I/O一般來講比非聚集索引更少。當join許多記錄時這種區(qū)別將是巨大的。一兩個額外的讀頁操作好像對一個單行檢索來說不多,但是把這些額外的對100,000join迭代的讀頁操作相加,你會看到總共100,000到200,00讀頁操作。

選擇聚集索引鍵時應(yīng)滿足四個特點:

Narrow(窄,即長度短)

Unique(唯一性)

Unchanging(不變化)

Ever increasing(不斷增長)

當你考慮聚集索引列時,你可能想嘗試在相對靜態(tài)的列上創(chuàng)建SQL Server聚集索引,來最小化由于索引列的修改而引起的數(shù)據(jù)行重新排序。任何時間當聚集索引的鍵值改變了,所有把聚集索引作為書簽的非聚集索引都需要被修改。

盡量避免在以單調(diào)形式插入的順序的鍵字段上創(chuàng)建聚集索引,比如一個標識列(identity column)。這會在表的末尾創(chuàng)建一個"熱點"(hot spot),結(jié)果會在表和索引的的末尾導(dǎo)致鎖競爭和死鎖。另外,聚集索引也不會重用以前數(shù)據(jù)頁中的空間,因為所有新的行都排在數(shù)據(jù)表的末尾。這種情況造成了空間的浪費和你的表的增長會比預(yù)期的要大。一般的建議是,盡量在一個有某種隨機分布的數(shù)據(jù)值上建立索引。盡量選擇一個使得插入和修改活動散布在整個表的聚集鍵。一些能夠使得數(shù)據(jù)隨機化的候選聚集索引包括下列:出生日期、Last name first name、郵編

一個隨機hash key(通常只當沒有其他實際列可以作為好的候選的SQL Server聚集索引時才使用)

在整個表上散布你的數(shù)據(jù)有助于最小化頁競爭,同時也提供了更有效的空間利用。如果序列鍵是你的主鍵,你仍能用一個唯一、非聚集索引來提供一個訪問路徑并維護主鍵的唯一性。

因為你只能以一種方式對表上的數(shù)據(jù)進行物理排序,你只能有一個聚集索引。你想索引的其它列只能被定義為非聚集索引。

SQL Server聚集索引的功能性較平常的索引工具功能更強大,通過上文的學(xué)習(xí)相信大家對SQL Server聚集索引已經(jīng)有了大體的了解,掌握了SQL Server聚集索引的知識,相信對大家是非常有用的,希望上文中介紹到的內(nèi)容對大家能夠有所幫助。

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫對于應(yīng)用程序的關(guān)系
  2. SQL Server索引結(jié)構(gòu)及其使用
  3. SQL Server索引使用的其他注意事項

 

 

責任編輯:迎迎 來源: IT專家網(wǎng)
相關(guān)推薦

2010-07-19 16:17:41

SQL Server聚

2010-07-07 11:20:02

SQL Server聚

2010-07-19 16:26:05

SQL Server非

2010-07-20 13:20:26

SQL Server聚

2010-07-07 10:54:22

SQL Server索

2010-07-07 09:27:15

SQL Server索

2010-07-19 18:04:23

SQL Server鎖

2010-07-07 09:47:04

SQL Server索

2010-07-07 13:18:13

SQL Server視

2010-07-07 10:47:58

SQL Server索

2010-07-07 11:28:12

SQL Server索

2011-04-22 14:45:45

SQL索引

2010-07-20 12:46:23

SQL Server聚

2014-08-28 10:06:57

SQL Server

2010-07-07 10:31:43

SQL Server數(shù)

2010-07-20 09:40:15

SQL Server

2010-06-17 15:09:49

SQL Server

2010-07-05 14:20:29

2010-07-22 17:33:42

2010-05-28 11:14:39

MySQL全文索引限制
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久一区二区 | 久久精品亚洲 | 国产美女黄色片 | 亚洲欧美日韩精品久久亚洲区 | 四虎在线观看 | 亚洲资源在线 | 亚洲精品久久久久久久久久久 | 国产亚洲精品美女久久久久久久久久 | 精精国产视频 | 国产综合久久 | 亚洲午夜精品一区二区三区他趣 | 久久亚洲精品国产精品紫薇 | 中文字幕亚洲一区二区三区 | 亚洲人成人一区二区在线观看 | 玖玖国产精品视频 | 一区二区三| www久久久| 男女啪啪高潮无遮挡免费动态 | 亚洲精品一区二三区不卡 | 在线观看中文字幕视频 | 欧美不卡网站 | 亚洲国产精品第一区二区 | 五月网婷婷 | 中文字幕免费视频 | 91麻豆精品国产91久久久久久 | 免费三级网| 一级毛片色一级 | 男人天堂国产 | 久久久久久久久淑女av国产精品 | 亚洲69p| 91福利网| 超碰在线免费公开 | 日韩欧美三级电影 | 久在线视频播放免费视频 | 涩爱av一区二区三区 | 久久久久无码国产精品一区 | 黄色免费在线观看网址 | 91精品国产乱码久久久久久久 | 九九99九九精彩46 | 欧美午夜精品 | 黄色片在线看 |