日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

SQL 创建索引的作用以及如何创建索引

發布時間:2025/6/17 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL 创建索引的作用以及如何创建索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL?創建索引的作用以及如何創建索引

SQL?創建索引的作用

一、使用索引的優點:

1、通過唯一性索引(unique)可確保數據的唯一性

2、加快數據的檢索速度

3、加快表之間的連接

4、減少分組和排序時間

5、使用優化隱藏器提高系統性能

二、使用索引的原則:

1、在需要經常搜索的列上創建索引

2、主鍵上創建索引

3、經常用于連接的列上創建索引

4、經常需要根據范圍進行搜索的列上創建索引

5、經常需要排序的列上創建索引

6、經常用于where子句的列上創建索引

三、不創建索引的原則:

1、查詢很少使用和參考的列不建索引

2、對只有少數值的列不建索引

3、定義為text、image、bit的列不建索引

4、當需要update性能遠遠高于select性能時不應建索引

四、常用的命令:

1、sp_helpindex?:報告表或視圖上的索引信息

2、dbcc?showcontig?:顯示指定表的數據和索引的碎片信息

3、dbcc?dbreindex?:重建指定數據庫中一個或多個索引

4、dbcc?indexdefrag?:整理指定表或視圖的聚集索引或輔助索引的碎片

五、優化索引:

1、重建索引(dbcc?dbreindex)?

2、索引優化向導

3、整理指定的表或視圖的聚集索引和輔助索引碎片(dbcc?indexefrag)?

?

如何創建索引

CREATE?INDEX?語句用于在表中創建索引。

在不讀取整個表的情況下,索引使數據庫應用程序可以更快地查找數據。?您可以在表中創建索引,以便更加快速高效地查詢數據。

用戶無法看到索引,它們只能被用來加速搜索/查詢。

注釋:1、更新一個包含索引的表需要比更新一個沒有索引的表更多的時間,這是由于索引本身也需要更新。因此,理想的做法是僅僅在常常被搜索的列(以及表)上面創建索引。

? ? ? ? ?2、唯一索引是指該字段不能有重復的值,而不是只能建立這一個索引。

?

進入查詢窗口后,輸入下面的語句:?

CREATE INDEX mycolumn_index ON mytable (myclumn)?

這個語句建立了一個名為mycolumn_index的索引。你可以給一個索引起任何名字,但你應該在索引名中包含所索引的字段名,這對你將來弄清楚建立該索引的意圖是有幫助的。?

注意:?

在本書中你執行任何SQL語句,都會收到如下的信息:?

This command did not return data,and it did not return any rows?

這說明該語句執行成功了。?

索引mycolumn_index對表mytable的mycolumn字段進行。這是個非聚簇索引,也是個非唯一索引。(這是一個索引的缺省屬性)?

如果你需要改變一個索引的類型,你必須刪除原來的索引并重建 一個。建立了一個索引后,你可以用下面的SQL語句刪除它:?

DROP INDEX mytable.mycolumn_index?

注意在DROP INDEX 語句中你要包含表的名字。在這個例子中,你刪除的索引是mycolumn_index,它是表mytable的索引。?

要建立一個聚簇索引,可以使用關鍵字CLUSTERED。)記住一個表只能有一個聚簇索引。(這里有一個如何對一個表建立聚簇索引的例子:?

CREATE CLUSTERED INDEX mycolumn_clust_index ON mytable(mycolumn)?

如果表中有重復的記錄,當你試圖用這個語句建立索引時,會出現錯誤。但是有重復記錄的表也可以建立索引;你只要使用關鍵字ALLOW_DUP_ROW把這一點告訴SQL Sever即可:?

CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)?

WITH ALLOW_DUP_ROW?

這個語句建立了一個允許重復記錄的聚簇索引。你應該盡量避免在一個表中出現重復記錄,但是,如果已經出現了,你可以使用這種方法。?

要對一個表建立唯一索引,可以使用關鍵字UNIQUE。對聚簇索引和非聚簇索引都可以使用這個關鍵字。這里有一個例子:?

CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)?

這是你將經常使用的索引建立語句。無論何時,只要可以,你應該盡量對一個對一個表建立唯一聚簇索引來增強查詢操作。?

最后,要建立一個對多個字段的索引──復合索引──在索引建立語句中同時包含多個字段名。下面的例子對firstname和lastname兩個字段建立索引:?

CREATE INDEX name_index ON username(firstname,lastname)?

這個例子對兩個字段建立了單個索引。在一個復合索引中,你最多可以對16個字段進行索引。?

用事務管理器建立索引?

用事務管理器建立索引比用SQL語句容易的多。使用事務管理器,你可以看到已經建立的索引的列表,并可以通過圖形界面選擇索引選項。?

使用事務管理器你可以用兩種方式建立索引:使用Manage Tables窗口或使用Manage Indexes窗口。?

轉載于:https://www.cnblogs.com/len0031/p/3780920.html

總結

以上是生活随笔為你收集整理的SQL 创建索引的作用以及如何创建索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。