?
1. 什么是索引
? ? 索引是SQlServer編排數(shù)據(jù)的內(nèi)部方法,是檢索表中數(shù)據(jù)的直接通道。它類似漢語詞典里面
的拼音目錄,通過它可以快速查找到某個(gè)字詞。
? ? 索引頁是數(shù)據(jù)庫中存儲(chǔ)說要的數(shù)據(jù)頁。索引頁存放檢索數(shù)據(jù)行的關(guān)鍵字頁及數(shù)據(jù)行的地址指針。索引頁類似于漢語字典中按拼音或筆畫排序的目錄頁。
?
2. 索引分類
? ? 唯一索引: 創(chuàng)建唯一約束會(huì)自動(dòng)創(chuàng)建唯一索引。 它對(duì)應(yīng)的列中僅允許有一個(gè)null值。
? ?主鍵索引: 是唯一索引的一種特殊類型。創(chuàng)建主鍵會(huì)自動(dòng)創(chuàng)建主鍵索引。 要求主鍵中的每個(gè)值是非空,唯一的。
? ?聚集索引: 表中各行的物理順序與鍵值的邏輯順序相同。
? ?非聚集索引: 表中各行數(shù)據(jù)存放的物理順序與鍵值的邏輯順序不匹配。聚集索引比非聚集索引有更快的數(shù)據(jù)訪問速度。
? ?復(fù)合索引: 將多個(gè)列組合作為索引
? ?全文索引: 是一種特殊類型的寄語標(biāo)記的功能型索引,由SQL server 中全文引擎服務(wù)創(chuàng)建和維護(hù)。
?
3. 創(chuàng)建索引
? ?方法一: 使用 SSMS 創(chuàng)建索引
? ?方法二: 使用T-SQL語句創(chuàng)建
? ?語法:
? ? ? create ?[unique] [clustered ?| ? nonclustered] ?index ?index_name
? ? ? on ?table_name ?(column_name[, column_name] ...)
? ? ? [with ?fillfactor=x]
? ? ?說明: fillfactor 表示填充因子, 指定一個(gè)1-100的值,該值指定索引頁填充的空間所占的百分比。
?
4. 查看索引
? ? 方法一: 用系統(tǒng)存儲(chǔ)過程 sp_helpIndex查看
? ? ? ? ? ? ? ?exec ?sp_helpIndex ?表名
? ? 方法二: 用視圖 sys.indexes 查看
? ?use ?database
? ? ? ? ? ? ? ? select * from sys.indexes
?
5. 刪除索引
? ?if ?exists (select name from sysindexes ?where name = index_name)
? ? ? ? ? ? ?drop index table.index_name
?
6. 注意事項(xiàng)
? ? ?針對(duì)以下情況創(chuàng)建索引:
? ? ? ? ? 頻繁搜索的列
? ? ? ? ?經(jīng)常用作查詢選擇的列
? ? ? ? ?經(jīng)常排序、分組的列
? ? ? ? ?經(jīng)常用作連接的列(主外鍵)
? ? 針對(duì)以下情況不創(chuàng)建索引:
? ? ? ? ? 僅包含幾個(gè)不同值的列
? ? ? ? ? ?表中僅包含幾行數(shù)據(jù)
? ? 經(jīng)驗(yàn):
? ? ? ? ? ?查詢是盡量少用 "*" 返回全部列,不要返回不需要的列
? ? ? ? ? ?索引盡量在字節(jié)數(shù)少的列上建立索引
?? where 字句中有多個(gè)表達(dá)式時(shí),包含索引列的表達(dá)式應(yīng)置于其他料件表達(dá)式之前
? ? ? ? ? ?避免在order by 子句中使用表達(dá)式
? ? ? ? ? ?根據(jù)業(yè)務(wù)數(shù)據(jù)發(fā)生頻繁,定期重新生成或重新組織索引,進(jìn)行碎片整理
? ? ??
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

