溫馨提示×

溫馨提示×

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

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

數據庫優化之創建索引

發布時間:2020-07-15 15:47:02 來源:網絡 閱讀:1172 作者:楊書凡 欄目:MySQL數據庫

    索引提供指針以指向存儲在表中指定列的數據,然后根據指定的次序排列這些指針,在根據指針到達包含該值的行


什么是索引

    數據庫中的索引和數據的目錄相似,利用目錄快速查找所需的信息。在數據庫中,索引是某個表中一列或者若干列值的集合,以及物流標識這些值的數據頁的邏輯指針清單。是SQL Server編排數據的內部方法,通過索引,可快速查找數據,而無需掃描整個表

    索引頁是數據庫中存儲索引的數據頁,存放數據行的關鍵字頁以及該數據行的地址指針


索引分類

    在SQL Server中,常見的索引有以下六類:

唯一索引:不允許兩行具有相同的索引值

主鍵索引:要求主鍵中每個值是唯一的

聚集索引:數據存放的物理順序與索引順序相同

非聚集索引:數據存放的物理順序與索引順序不相同

復合索引:將多個列組合而成的索引

全文索引:一種特殊類型的基于標記的功能性索引

注意:在SQL Server中,一個表只能創建一個聚集索引,但可以創建多個非聚集索引。設置某列為主鍵,該列就默認為聚集索引


創建索引

   創建索引的方法有兩種:使用SSMS和T-SQL語句

(1)使用SSMS創建索引

    可以展開表,選擇“新建索引”,也可以右擊表,選擇“設計”,右擊列,選擇“索引/鍵”,創建索引

數據庫優化之創建索引

數據庫優化之創建索引


(2)使用T-SQL語句創建索引

創建聚集索引語法:

create clustered index 索引名 on 表名(列名)

數據庫優化之創建索引


創建非聚集索引語法:

create [nonclustered] index 索引名 on 表名(列名)

數據庫優化之創建索引


創建唯一索引

create unique [clustered|nonclustered] index 索引名 on 表名(列名)

數據庫優化之創建索引


刪除索引

drop index 索引名 on 表名


索引的選擇原則

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

* 頻繁搜索、查詢選擇的列

* 經常排序、分組的列

* 經常用于連接的列(主鍵、外鍵)


    不要使用下面的列建立索引,因為索引所花的時間比在表中逐行搜索的時間更長

* 僅包含幾個值的列

* 表中僅包含幾行




向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女