SQL中的索引是什麼?

SQL中的索引是什麼? 你能解釋或參考清楚地理解嗎? php

我應該在哪裏使用索引? html


#1樓

彙集索引就像電話簿的內容。 你能夠在'Hilditch,David'打開這本書,找到全部'Hilditch'彼此相鄰的全部信息。 這裏彙集索引的鍵是(lastname,firstname)。 sql

這使得聚簇索引很是適合基於基於範圍的查詢檢索大量數據,由於全部數據都位於彼此旁邊。 數據庫

因爲聚簇索引實際上與數據的存儲方式有關,所以每一個表中只有一個可能存在(儘管您能夠欺騙模擬多個聚簇索引)。 性能優化

非彙集索引的不一樣之處在於您能夠擁有許多索引,而後它們指向聚簇索引中的數據。 你能夠在電話簿的背面有一個非彙集索引(城鎮,地址) 數據結構

想象一下,若是你必須經過電話簿搜索住在「倫敦」的全部人 - 只有彙集索引,你必須搜索電話簿中的每個項目,由於聚簇索引上的鍵是打開的(姓氏,所以,居住在倫敦的人們在整個指數中隨機分散。 ide

若是(town)上有非彙集索引,則能夠更快地執行這些查詢。 性能

但願有所幫助! 優化


#2樓

索引都是關於快速查找數據的spa

數據庫中的索引相似於您在書中找到的索引。 若是一本書有索引,而且我要求你在那本書中找到一章,你能夠在索引的幫助下快速找到它。 另外一方面,若是書中沒有索引,則必須花費更多時間經過查看書籍從開頭到結尾的每一個頁面來查找章節。

以相似的方式,數據庫中的索引能夠幫助查詢快速查找數據。 若是您不熟悉索引,則如下視頻很是有用。 事實上,我從中學到了不少東西。

索引基礎
羣集和非羣集索引
獨特和非惟一索引
索引的優缺點


#3樓

INDEXES - 輕鬆查找數據

UNIQUE INDEX - 不容許重複值

INDEX語法

CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN);

UNIQUE INDEX語法

CREATE UNIQUE INDEX INDEX_NAME ON TABLE_NAME(COLUMN);

#4樓

INDEX是一種性能優化技術,可加速數據檢索過程。 它是一個與表(或視圖)關聯的持久數據結構,以便在從該表(或視圖)檢索數據期間提升性能。

當您的查詢包含WHERE過濾器時,更具體地應用基於索引的搜索。 不然,即沒有WHERE過濾器的查詢選擇整個數據和過程。 在沒有INDEX的狀況下搜索整個表稱爲表掃描。

您將以清晰可靠的方式找到Sql-Indexes的確切信息:請點擊如下連接:

  1. 對於cocnept-wise的理解: http ://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-INDEX-Overview-and-Optimizations.html
  2. 爲了實現明智的理解: http//dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-INDEX-Creation-Deletetion-Optimizations.html

#5樓

一個很是好的比喻是將數據庫索引視爲書中的索引。 若是您有一本關於國家的書,而且您正在尋找印度,那麼爲何要翻閱整本書 - 這至關於數據庫術語中的全表掃描 - 當您能夠轉到後面的索引時本書,它將告訴您有關印度信息的確切頁面。 一樣,因爲book索引包含頁碼,所以數據庫索引包含指向包含要在SQL中搜索的值的行的指針。

更多信息

相關文章
相關標籤/搜索