亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL server 數據庫之“索引”詳解

發布時間:2020-06-15 20:42:43 來源:網絡 閱讀:2193 作者:warrent 欄目:關系型數據庫

什么是索引?
數據庫中的索引與書籍中的目錄類似,索引使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 將會根據所創建的索引,自動優化查詢。

使用索引可加快數據檢索速度,但為每個列都建立索引沒有必要。因為索引自身也需要維護,并且占用一定的資源,可以按照以下標準選擇建立索引的列。

  1. 頻繁搜索的列。
  2. 經常用于查詢選擇的列。
  3. 經常排序、分組的列。
  4. 經常用于連接的列(主鍵/外鍵)。

不要使用下面的列創建索引。

  1. 僅包含幾個不同值得列。
  2. 表中僅包含幾行,為小型表創建索引可能不太劃算,因為SQL Server在索引中搜索數據所花的時間比在表中逐行搜索所花的時間更長。

在SQL 語句中,特別是在select語句中正確使用索引可以大大提高查詢速度,保證應用程序的運行性能。提供幾條經驗,僅供大家參考:

  1. 查詢時盡量減少使用“星號”返回全部列,不要返回不需要的列。
  2. 索引應該盡量小,在字節數小的列上建立索引。
  3. where 字句中有多個條件表達式時,包含索引列的表達式應置于其他表達式之前。
  4. 避免在order by 字句中使用表達式。
  5. 根據業務數據發生頻率,定期重新生成或重新組織索引,進行碎片整理。(因為在SQL server中,索引數據是由系統自動維護的,在增加、刪除和修改數據后,索引數據可能會更新。隨著長期頻繁的數據更新,索引數據會分散在磁盤的不同位置,形成碎片,由此造成查詢速度越來越慢,因此,根據數據更新的頻率,定期刪除原有索引,重新創建相同的索引,讓索引存放在連續的空間中,以此刪除碎片,可提高查詢速度。)
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沐川县| 历史| 连云港市| 行唐县| 绥阳县| 淳化县| 堆龙德庆县| 乐平市| 通州市| 乐都县| 广元市| 定南县| 兰坪| 泰和县| 苗栗市| 义马市| 星座| 金山区| 湘潭市| 合肥市| 汉川市| 大洼县| 攀枝花市| 兴化市| 闻喜县| 开化县| 延川县| 马公市| 彝良县| 房山区| 梓潼县| 云林县| 新闻| 台江县| 大兴区| 清水县| 临夏市| 嵊州市| 吴忠市| 淳安县| 炉霍县|