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

歡迎訪問 生活随笔!

生活随笔

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

数据库

MS SQL入门基础:创建索引

發布時間:2025/5/22 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MS SQL入门基础:创建索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  8.2.1 用CREATE INDEX 命令創建索引

  CREATE INDEX 既可以創建一個可改變表的物理順序的簇索引,也可以創建提高查詢性能的非簇索引。其語法如下:

  CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED]

  INDEX index_name ON {table | view } column [ ASC | DESC ] [,...n])

  [WITH

  [PAD_INDEX]

  [ [, ] FILLFACTOR = fillfactor]

  [ [, ] IGNORE_DUP_KEY]

  [ [, ] DROP_EXISTING]

  [ [, ] STATISTICS_NORECOMPUTE]

  [ [, ] SORT_IN_TEMPDB ]

  ]

  [ON filegroup]

  各參數說明如下:

UNIQUE

  創建一個惟一索引,即索引的鍵值不重復。在列包含重復值時,不能建惟一索引。如要使用此選項,則應確定索引所包含的列均不允許NULL 值,否則在使用時會經常出錯。 CLUSTERED

  指明創建的索引為簇索引。如果此選項缺省,則創建的索引為非簇索引。 NONCLUSTERED

  指明創建的索引為非簇索引其索引。數據頁中包含了指向數據庫中實際的表數據頁的指針。 index_name

  指定所創建的索引的名稱。索引名稱在一個表中應是惟一的,但在同一數據庫或不同數據庫中可以重復。 table

  指定創建索引的表的名稱。必要時還應指明數據庫名稱和所有者名稱。 view

  指定創建索引的視圖的名稱。視圖必須是使用SCHEMABINDING 選項定義過的,其具體信息請參見“視圖創建”章節。 ASC | DESC

  指定特定的索引列的排序方式。默認值是升序(ASC)。 column

  指定被索引的列。如果使用兩個或兩個以上的列組成一個索引,則稱為復合索引。一個索引中最多可以指定16 個列,但列的數據類型的長度和不能超過900 個字節。 PAD_INDEX

  指定填充索引的內部節點的行數,至少應大于等于兩行。PAD_INDEX 選項只有在FILLFACTOR 選項指定后才起作用。因為PAD_INDEX 使用與FILLFACTOR 相同的百分比。缺省時,SQL Server 確保每個索引頁至少有能容納一條最大索引行數據的空閑空間。如果FILLFACTOR 指定的百分比不夠容納一行數據S,QL Server 會自動內部更改百分比。 FILLFACTOR = fillfactor

  FILLFACTOR 稱為填充因子,它指定創建索引時,每個索引頁的數據占索引頁大小的百分比,fillfactor 的值為1 到100。它其實同時指出了索引頁保留的自由空間占索引頁大小的百分比。即100 - fillfactor。 對于那些頻繁進行大量數據插入或刪除的表在建索引時應該為將來生成的索引數據預留較大的空間,即將fillfactor 設得較小,否則,索引頁會因數據的插入而很快填滿,并產生分頁,而分頁會大大增加系統的開銷。但如果設得過小,又會浪費大量的磁盤空間,降低查詢性能。因此,對于此類表通常設一個大約為10 的fillfactor。 而對于數據不更改的、高并發的、只讀的表,fillfactor 可以設到95 以上乃至100。

  如果沒有指定此選項,SQL Server 默認其值為0 。0 是個特殊值,與其它小FILLFACTOR

  值(如:1,2)的意義不同,其葉節點頁被完全填滿,而在索引頁中還有一些空間。可以

  用存儲過程Sp_configure 來改變默認的FILLFACTOR 值。 IGNORE_DUP_KEY

  此選項控制了當往包含于一個惟一約束中的列中插入重復數據時SQL Server 所作的反應。當選擇此選項時,SQL Server 返回一個錯誤信息,跳過此行數據的插入,繼續執行下面的插入數據的操作:當沒選擇此選項時,SQL Server 不僅會返回一個錯誤信息,還會回滾(Rolls Back)整個INSERT 語句(關于回滾,請參見“數據庫更新”章節中的“事務”一節)。 DROP_EXISTING

  指定要刪除并重新創建簇索引。刪除簇索引會導致所有的非簇索引被重建,因為需要用行指針來替換簇索引鍵。如果再重建簇索引,那么非簇索引又會再重建一次,以便用簇索引鍵來替換行指針。使用DROP_EXISTING 選項可以使非簇索引只重建一次。 STATISTICS_NORECOMPUTE

  指定分布統計不自動更新。需要手動執行不帶NORECOMPUTE 子句的UPDATESTATISTICS 命令。 SORT_IN_TEMPDB

  指定用于創建索引的分類排序結果將被存儲到Tempdb 數據庫中。如果Tempdb 數據庫和用戶數據庫位于不同的磁盤設備上,那么使用這一選項可以減少創建索引的時間,但它會增加創建索引所需的磁盤空間。 ON filegroup

  指定存放索引的文件組。 注意:數據類型為TEXT、NTEXT、IMAGE或BIT的列不能作為索引的列。

  由于索引的寬度不能超過900個字節,因此數據類型為CHAR、VARCHAR、BINARY和VARBINARY的列的列寬 度超過了900字節,或數據類型為NCHAR、NVARCHAR的列的列寬度超過了450個字節時也不能作為索引的列。

  在使用索引創建向導創建索引時,不能將計算列包含在索引中,但在直接創建或使用CREATE INDEX命令創建索引時,則可以對計算機列創建索引,這在SQL Server2000以前的版本中是不允許的,算得上是一大改進。

  例8-1: 為表products 創建一個簇索引。

  create unique clustered index pk_p_id

  on products(p_id)

  with

  pad_index,

  fillfactor = 10,

  ignore_dup_key,

  drop_existing,

  statistics_norecompute

  on [primary]

  例8-2 為表products 創建一個復合索引

  create index pk_p_main

  on products(p_id, p_name, sumvalue) --其中sumvalue 是一個計算列表達式為price*quantity

  with

  pad_index,

  fillfactor = 50

  on [primary]

  例8-3 創建一個視圖并為它建一個索引

  create view dbo.work_years

  with

  schemabinding

  as

  select top 100 percent emp_id,e_name, birthday, hire_date, year(getdate())

  - year(hire_date) as work_years

  from dbo.employee

  order by work_years desc

  create unique clustered

  index emp_id_view on dbo.work_years (emp_id)

  8.2.2 用Enterprise Manager 創建索引。

  在Enterprise Manager 中創建索引有兩種方法

  1 用索引創建向導創建索引

  創建方法如下:

  (1) 在目錄樹中選擇要創建索引的表所在的數據庫,點擊任務板中的向導頁面

  “Wizards”,出現如圖8-2 所示的選擇向導界面。

  

  圖8-2 選擇索引創建向導

  (2) 單擊任務板中的“Create an Index” 鏈接,出現如圖8-3 所示的索引創建向導界面。也可以從“Tools ”菜單中選擇“izards” 菜單項,則出現如圖5-17 所示的選擇SQL Server 向導對話框,再從樹型目錄中選擇“Database”下的“Create Index Wizard”選項,也會出現如圖8-3 所示的索引創建向導界面。

  

  (3) 單擊“下一步”按鈕,出現如圖8-4 所示的界面,從中選擇要創建索引的表,及其所屬的數據庫。

  

  (4) 單擊“下一步”按鈕,出現如圖8-5 所示的界面,它顯示了所選擇的表中已經存在的索引的信息。如果表還沒有創建過索引,則不會出現此界面,而直接出現如圖8-6 所示的界面。

  

  (5) 單擊“下一步”按鈕,出現如圖8-6 所示的界面,它列出了表中的所有列的信息,從中選擇創建索引的列。

  

  (6) 單擊“下一步”按鈕,出現如圖8-7 所示的界面,它列出了可供選擇的索引設置選項(有關索引選項的設置,請參考前面講述的CREATE INDEX 命令)。

  (7) 單擊“下一步”按鈕,出現如圖8-8 所示的完成索引創建界面,在此可以指定所創建索引的名稱,還可以調整組成索引的列的順序。單擊“完成”按鈕,結束索引創建過程。系統會彈出一個創建索引成功信息對話框。

  

  2 直接創建索引

  選擇要創建索引的表,單擊右鍵,從快捷菜單中選擇“所有任務(All Tasks)”子菜單中的“Manage Indexes”選項,將會出現如圖8-9 所示的索引管理對話框,其中列出了表中已經存在的索引。選擇“New” 按鈕,進入如圖8-10 所示的創建索引對話框。在圖8-10中,輸入要創建的索引的名稱,再選擇用于創建索引的列,并設置索引的各種選項(有關索引選項的設置,請參考前面講述的CREATE INDEX 命令)。單擊“OK” 按鈕,完成索引的創建。

  

總結

以上是生活随笔為你收集整理的MS SQL入门基础:创建索引的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 白嫩白嫩国产精品 | 国产日本亚洲 | 91丨porny丨成人蝌蚪 | zzjizzji亚洲日本少妇 | 欧美第一网站 | 午夜精品一区二区三区在线 | 亚洲天堂影视 | 中文资源在线观看 | 波多野结衣一区二区三区高清 | 国产情侣小视频 | 亚洲va天堂va欧美ⅴa在线 | 成人久久网站 | 91在线视频精品 | 欧美激情18p| 天堂草在线观看 | 男人的天堂视频 | 鲁鲁狠狠狠7777一区二区 | 日韩性网 | 丁香久久婷婷 | www日本高清| 久久av喷吹av高潮av萌白 | 亚洲黄色成人网 | 欧美第三页 | 成人av在线网址 | 最近最好的2019中文 | 白白色免费视频 | 国产男女猛烈无遮挡免费观看网站 | 开心成人激情 | 福利网址在线观看 | 亚洲欧美视频在线观看 | 成人手机在线播放 | 欧美另类自拍 | 欧美黄色xxx | 国产一级生活片 | 欧美日韩中出 | 伊人网视频 | 青青草原综合久久大伊人精品 | 中文字幕1页 | 麻豆入口| 国产亚洲精品久久久久久打不开 | 国产精品老熟女视频一区二区 | 色一色成人网 | chinese中国性按摩hd | 四虎影视av | 一女三黑人理论片在线 | 91色漫| 一区二区三区不卡视频 | 午夜国产在线视频 | 免费无遮挡无码永久在线观看视频 | 国产精品videos | 日本一级免费视频 | 毛片大全 | 国产成人精品123区免费视频 | 亚洲男人网站 | 国产一区二区视频在线免费观看 | 在线观看一区视频 | 久久精品大片 | 久久久蜜桃一区二区 | 强开小受嫩苞第一次免费视频 | 久久xxxx| 亚洲a在线播放 | 玉女心经 在线 | 抱着老师的嫩臀猛然挺进视频 | www日本在线观看 | 青青草在线免费观看 | 草草影院最新网址 | 亚洲二区精品 | 97久久精品人人澡人人爽 | 91羞羞网站 | 亚洲www在线| 黄色一级黄色片 | 国外av在线 | 国产第一页av | 91调教打屁股xxxx网站 | 国产激情一区 | 久久中文字幕人妻熟av女蜜柚m | 99久久久国产精品无码性 | 3344成人| 成人网在线 | 亚洲色图14p | 色综合精品| 狠久久| 国产一区二区三区四区视频 | jizz日本大全| 成人福利在线看 | 天堂在线国产 | 色屋永久 | 懂色av一区二区在线播放 | 国产精品国产三级国产 | 日本美女日批视频 | 日韩免费av网站 | 日韩毛片网站 | 香蕉视频网站在线观看 | 国产露脸国语对白在线 | 日韩有码一区二区三区 | 一区二区三区中文字幕在线观看 | 亚洲色图视频在线 | 国产成人一区二区三区别 | 打屁屁日本xxxxx变态 |