日韩性视频-久久久蜜桃-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入门基础:创建索引的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲 欧美 中文字幕 | 欧美做受视频 | 中文字幕日韩电影 | 亚洲视频1 | 国产91久久久 | 国产一级自拍 | 欧美多p| 青草视频在线播放 | 成人高清视频在线观看 | 日韩不卡的av | 日本亚洲一区二区 | 亚洲综合第一区 | 亚洲成人一二三区 | 黄色一级大片免费版 | 网址av| 懂色av,蜜臀av粉嫩av | 国产中文视频 | 亚洲精品国产综合 | 午夜视频在线免费播放 | 久久午夜视频 | 伊人久久天堂 | 伊人啪啪网 | 无码人妻少妇色欲av一区二区 | 日韩国产二区 | 狠狠做深爱婷婷综合一区 | 欧美另类色 | 大陆农村乡下av | 一级片手机在线观看 | 东北少妇高潮抽搐 | 婷婷婷色 | 夜夜爽爽| 六月色婷 | 亚洲色欲色欲www在线观看 | 无码人妻丰满熟妇区bbbbxxxx | 一级黄色免费观看 | 欧美激情视频一区二区三区不卡 | 中文字幕在线视频播放 | 超碰黄色 | 欧美一区二区三区免费观看 | 国产九色sp调教91 | 小草av在线 | 好姑娘在线观看高清完整版电影 | 中文字幕在线永久 | 成人毛片视频在线观看 | 精品少妇一区二区三区免费观 | 久久肉| 日韩va在线观看 | 欧美鲁| 欧美一级特黄aaaaaa | 日韩资源在线 | 国产专区一区二区三区 | 成年人深夜福利 | 久久成| porn亚洲 | 无码人妻少妇色欲av一区二区 | 蜜臀久久精品久久久久 | 欧美一级片在线播放 | 中文字幕+乱码+中文乱码91 | 中文字幕第23页 | 色呦呦| 女~淫辱の触手3d动漫 | 亚洲免费视 | 欧美在线不卡 | 午夜嘿嘿嘿 | 拔插拔插海外华人免费视频 | 爆操欧美| 精品视频一区二区三区四区 | 久色成人| av小说在线| 都市豪门艳霸淫美妇 | 日韩精品中字 | 永久免费看黄 | 亚州精品毛片 | 亚洲成人生活片 | 日本性爱动漫 | 久久视精品 | 国产在线v | 成人看的视频 | 一本色道久久88综合日韩精品 | 美女穴穴| 美丽的姑娘在线观看 | 奇米超碰在线 | 亚洲四虎影院 | 极品尤物一区二区三区 | 高清一区在线观看 | 欧美一区二区在线视频观看 | 香港三日本8a三级少妇三级99 | 久久国产精品久久精品国产 | 国产99在线播放 | 日本五十熟hd丰满 | 操操影视 | 中文无码精品一区二区三区 | 他趴在我两腿中间添得好爽在线看 | 亚洲国产精品99 | 少妇扒开粉嫩小泬视频 | 成年人视频免费在线观看 | 色一情一区二区三区四区 | 全部免费毛片在线播放高潮 | 波多野结衣在线电影 |