您好,登錄后才能下訂單哦!
什么是索引?
數據庫中的索引與書籍中的目錄類似,索引使SQL Server編排數據的內部方法,它為SQL Server提供一種方法來編排查詢數據的路由。
索引頁是數據中存儲索引的數據頁。索引頁存放檢索數據行的關鍵字頁及該數據行的地址指針。通過使用索引,可以大大提高數據庫的檢索速度、改善數據庫性能。
索引的分類
1、唯一索引
唯一索引不允許兩行具有相同的索引值。創建了唯一約束,將自動創建唯一索引。盡管唯一索引有助于找到信息,但是為了獲得最佳性能,建議使用主鍵約束。
2、主鍵索引
在數據庫關系圖中為表定義一個主鍵將自動創建主鍵索引,主鍵索引是唯一索引的特殊類型。
主鍵索引要求主鍵中的每個值時唯一的。當在查詢中使用主鍵索引時,它還允許快速訪問數據。
3、聚集索引
在聚集索引中,表中各行的物理順序與鍵值的邏輯(索引)順序相同。
4、非聚集索引
非聚集索引建立在索引頁上,在查詢數據時可以從索引中找到記錄存放的位置。非聚集索引使表中各行數據存放的物理順序與鍵值的邏輯順序不匹配,聚集索引比非聚集索引有更快的數據訪問速度。例如,按筆畫排序的索引就是非聚集索引,“1”畫的字(詞)對應的頁碼可能比“3”畫的字(詞)對應的頁碼大(靠后)。
在SQL Server中,一個表只能創建一個聚集索引,但可以將多個非聚集索引。設置某列為主鍵,該列就默認為聚集索引。
5、復合索引
在創建索引時,并不是只能對其中一列創建索引,與創建主鍵一樣,可以將多個列組合為索引,這種索引稱為復合索引。
需要注意的是,只有用到復合索引的第一列或整個復合索引列作為條件完成數據查詢時才會用到該索引。
6、全文索引
全文索引使一種特殊類型的基于標記的功能性索引,由SQL Server中全文引擎服務創建和維護。全文索引主要用于大量文本中搜索字符串,此時使用全文索引的效率將大大高于使用T-SQL的LIKE關鍵字的效率。
由于SQL server 圖形化操作,創建索引比較簡單,就略過創建步驟了,創建索引后,可以像查字典時選擇拼音方式或筆畫方式一樣,指定SQL server數據查詢的索引查詢方式,T-SQL語句如下:
select * from xueyuan #指定查詢的表
with (index=ix_name) #指定要依據的索引
where 學員姓名 like '孫%' #查詢條件
雖然可以指定SQL server 按哪個索引進行查詢,但一般不需要我們人工指定,SQL server 將會根據所創建的索引,自動優化查詢。
使用索引可加快數據檢索速度,但為每個列都建立索引沒有必要。因為索引自身也需要維護,并且占用一定的資源,可以按照以下標準選擇建立索引的列。
不要使用下面的列創建索引。
在SQL 語句中,特別是在select語句中正確使用索引可以大大提高查詢速度,保證應用程序的運行性能。提供幾條經驗,僅供大家參考:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。