日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLServer 语句-创建索引

發布時間:2024/9/20 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLServer 语句-创建索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

語法:
CREATE [索引類型] INDEX 索引名稱
ON 表名(列名)
WITH FILLFACTOR = 填充因子值0~100
GO

/*實例*/USE 庫名
GO
IF EXISTS?(SELECT * FROM SYSINDEXES WHERE NAME='IX_TEST_TNAME')--檢測是否已經存在IX_TEST_TNAME索引
DROP INDEX?TEST.IX_TEST_TNAME--如果存在則刪除
--創建索引
CREATE NONCLUSTERED INDEX?IX_TEST_TNAME?--創建一個非聚集索引
ON TEST(TNAME)??--為TEST表的TNAME字段創建索引
WITH FILLFACTOR = 30?--填充因子為30%
GO

SELECT * FROM TEST(INDEX = IX_TEST_TNAME) WHERE TNAME = 'A'?--指定按‘IX_TEST_TNAME’索引查詢

總結:????? 1.什么是索引:數據庫中的索引是某個表中一列或多列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單。
??2.分類:
?????唯一索引(UNIQUE):不允許兩行具有相同的索引值(創建了唯一約束,系統將自動創建唯一索引)
?????主鍵索引:主鍵索引要求主鍵中的每個值是唯一的,(創建主鍵自動創建主鍵索引)
?????聚集索引(CLUSTERED):表中各行的物理順序與鍵值的邏輯(索引)順序相同,表中只能包含一個聚集索引,主鍵列默認為聚集索引
?????非聚集索引(NONCLUSTERED):表中各行的物理順序與鍵值的邏輯(索引)順序不匹配,表中可以有249個非聚集索引
????3.創建索引的標準:用語頻繁搜索的列;用語對數據進行排序的列
注意:如果表中僅有幾行,或列中只包含幾個不同的值,不推薦創建索引,因為SQL Server 在小型表中用索引搜索數據所花的時間比逐行搜索更長。

CREATE INDEX (SQL Server Compact Edition)
?? http://msdn.microsoft.com/zh-cn/library/ms345331(SQL.90).aspx

新增:?2006 年 4 月 14 日

在指定的表上創建索引。可以在表中輸入數據之前創建索引。

?語法
?
CREATE [UNIQUE] [NONCLUSTERED] INDEX index_name ON table_name (column_name [ASC|DESC][,…n])
WITH (STATISTICS_NORECOMPUTE = { ON | OFF })]
?參數

術語定義

UNIQUE

在表上創建唯一索引。唯一索引是不允許其中任意兩行具有相同索引值的索引。

SQL Server 2005 Compact Edition (SQL Server Compact Edition) 在創建索引后將檢查是否存在重復的值(如果數據已存在),并在每次使用 INSERT 或 UPDATE 語句添加數據時執行該檢查操作。必須先消除重復值,然后才可對列創建唯一索引。如果存在重復的鍵值,則將取消 CREATE INDEX 語句并返回錯誤。只能對定義為 NOT NULL 的列創建唯一索引。

如果存在唯一索引,則可能生成重復鍵值的 UPDATE 或 INSERT 語句將回滾,且 SQL Server Compact Edition 返回錯誤。即使 UPDATE 或 INSERT 語句更改許多行,但只要存在一個重復,上面這一點也將成立。

NONCLUSTERED

創建指定表的邏輯排序的索引。使用非聚集索引,數據行的物理順序將獨立于其索引順序。這是唯一支持的索引類型。(默認值為 NONCLUSTERED)

index_name

指定索引的名稱。索引名稱在表中必須是唯一的,但是在數據庫中不必是唯一的。

table_name

指定要對其創建索引的表的名稱。

此表包含要建立索引的一個或多個列。

column name

要應用索引的列。指定兩個或兩個以上的列的名稱,以對指定列中的組合值創建組合索引。在表后面的括號中,按排序優先級順序列出要包含在組合索引中的列。

注意:
不能將包含 ntext 或 image 數據類型的列指定為要建立索引的列。

ASC | DESC ]

為特定的索引列確定升序 (ASC) 或降序 (DSC) 排序方向。默認值為 ASC。

n

指示可以為任何特定索引指定多列的占位符。索引中可以包含的最大列數為 16。

STATISTICS_NORECOMPUTE

指定是否重新計算分發統計信息。默認值為 OFF。

  • ON?
    不自動重新計算過期的統計信息。
  • OFF?
    啟用自動統計信息更新

若要還原自動統計信息更新,請將 STATISTICS_NORECOMPUTE 設置為 OFF,或執行不帶 NORECOMPUTE 子句的 UPDATE STATISTICS。

重要事項:
禁用分發統計信息的自動重新計算功能可能會阻止查詢優化器為涉及此表的查詢選取最佳執行計劃。

示例

以下示例對 MyCustomers 表創建了唯一索引:

?復制代碼
CREATE TABLE MyCustomers (CustID int, CompanyName nvarchar(50))
CREATE UNIQUE INDEX idxCustId ON MyCustomers (CustId)
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的SQLServer 语句-创建索引的全部內容,希望文章能夠幫你解決所遇到的問題。

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