亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL Server--索引

系統(tǒng) 2427 0

一,索引的概述

1,概念 : 數(shù)據(jù)庫(kù)索引是對(duì)數(shù)據(jù)表中一個(gè)或多個(gè)列的值進(jìn)行排序的結(jié)構(gòu),就像一本書(shū)的目錄一樣,索引提供了在行中快速查詢(xún)特定行的能力.

2,優(yōu)缺點(diǎn) :

2.1優(yōu)點(diǎn): 1,大大加快搜索數(shù)據(jù)的速度,這是引入索引的主要原因.

2,創(chuàng)建唯一性索引,保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性.

3,加速表與表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義.

4,在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以減少其使用時(shí)間.

2,2缺點(diǎn): 1,索引需要占用物理空間,聚集索引占的空間更大.

2,創(chuàng)建索引和維護(hù)索引需要耗費(fèi)時(shí)間,這種時(shí)間會(huì)隨著數(shù)據(jù)量的增加而增加.

3,當(dāng)向一個(gè)包含索引的列的數(shù)據(jù)表中添加或者修改記錄時(shí),SQL server 會(huì)修改和維護(hù)相應(yīng)的索引,這樣增加系統(tǒng)的額外開(kāi)銷(xiāo),降低處理速度。

3,索引的分類(lèi):

1,按存儲(chǔ)結(jié)構(gòu)可分為:

a,聚集索引:指物理存儲(chǔ)順序與索引順序完全相同,它由上下兩層組成,上層為索引頁(yè),下層為數(shù)據(jù)頁(yè),只有一種排序方式,因此每個(gè)表中只能創(chuàng)建一個(gè)聚集索引。

b,非聚集索引:指存儲(chǔ)的數(shù)據(jù)順序一般和表的物理數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不同。通過(guò)下表我們可以分析出:(其中在學(xué)號(hào)上建立非聚集索引)

SQL Server--索引

2,根基索引鍵值是否唯一,可以判定是否為 唯一索引 ;基于多個(gè)字段的組合創(chuàng)建索引的為 組合索引

二,索引的操作:

1,創(chuàng)建: (1),原則:a,只有表的所有者可以在同一個(gè)表中創(chuàng)建索引;

b,每個(gè)表中只可以創(chuàng)建一個(gè)聚集索引;

c,每個(gè)表中最多可以創(chuàng)建249個(gè)非聚集索引;

d,在經(jīng)常查詢(xún)的字段上建立索引;

e,定義text,image和bit數(shù)據(jù)類(lèi)型的裂傷不能創(chuàng)建索引;

f,在外鍵列上可以創(chuàng)建索引,主鍵上一定要有索引;

g,在那些重復(fù)值比較多的,查詢(xún)較少的列上不要建立索引。

(2),方法:a,使用SQL server Management Studio創(chuàng)建索引。

b,使用T-SQL語(yǔ)句中的create Index語(yǔ)句創(chuàng)建索引

c,使用Create table或者alter Table語(yǔ)句為表列定義主鍵約束或者唯一性約束時(shí),會(huì)自動(dòng)創(chuàng)建主鍵索引和惟一索引。

這里說(shuō)說(shuō)T-sql語(yǔ)句創(chuàng)建索引:

語(yǔ)法:

    create relational index create[unique][clustered|nonclustered]   index index_name  on<object>(cloumn[asc|desc][,……n])
  [include (column_name[,……n])]
     [with(<relational_index_option>[,……n])]
 [onfilegroup_name] 

  

說(shuō)明:1,include (column_name[,……n])指定要添加到非聚集索引的葉級(jí)別的非鍵列。

2,on filegroup_name,為指定文件組創(chuàng)建指定索引。

例如:在course表中,對(duì)“課程代號(hào)”列創(chuàng)建聚集索引zindex.

    use db_student
 create clustered index zindex on course(課程代號(hào))

  


2,查看索引 :(1),使用SQL ServerManagement Studio查看索引信息

(2),使用系統(tǒng)存儲(chǔ)過(guò)程查詢(xún)索引信息,用SP_helpindex可以返回表中的所有索引信息

例如:查看course表的索引信息

    use db_student
   execsp_helpindex course

  


3,修改索引:

(1),在SQL Server Management Studio 中修改索引

(2),使用Alter Index語(yǔ)句修改索引

在這里為大家舉一個(gè)例子:

在course數(shù)據(jù)表中,修改所有的索引,并指定選項(xiàng)

    use db_student
    alterindex all on course rebuild with (fillfactor=80,sort_in_tempdb=on,statistics_norecompute=on)

  


4,刪除索引:

(1),使用SQL Server Management Studio 刪除索引

(2),使用Drop index語(yǔ)句刪除索引

例如:在course表中,刪除zindex索引

    use db_student
 drop index course.zindex
  


三,索引的分析和維護(hù):

分析: 1,使用showplan 語(yǔ)句

語(yǔ)法:set showplan_all{on|off},set showplan_next{on|off}

例子:顯示表course的課程代號(hào),課程類(lèi)型,課程內(nèi)容,并顯示查詢(xún)過(guò)程

    use db_student
 set showplan_all on  select 課程代號(hào),課程類(lèi)型 課程內(nèi)容 from course where 課程內(nèi)容='loving'

  


2,使用statistics io語(yǔ)句

語(yǔ)法:statistics io{on|off} on和off分別為顯示和不顯示,使用方法和上一樣。

維護(hù): 1,使用dbcc showcontig語(yǔ)句,顯示指定表的數(shù)據(jù)和索引的碎片信息。當(dāng)對(duì)表中進(jìn)行大量修改或添加數(shù)據(jù)后,應(yīng)該執(zhí)行此語(yǔ)句查看有無(wú)碎片。

語(yǔ)法:dbcc showcontig[{table_name|table_id|view_name|view_id},index_name|index_id] with fast

2,使用dbcc dbreindex語(yǔ)句,意思是重建數(shù)據(jù)庫(kù)中表的一個(gè)或多個(gè)索引。

語(yǔ)法:

    dbcc dbreindex
 (['database.owner.table_name'[,index_name[,fillfactor]]])  [withno_infomsgs]
  

說(shuō)明: database.owner.table_name,重新建立索引的表名

index_name,是要重建的索引名

fillfactor,要?jiǎng)?chuàng)建索引時(shí)每個(gè)索引頁(yè)上要用于存儲(chǔ)數(shù)據(jù)的空間百分比。

with no_infomsgs,禁止顯示所有信息性消息

3,使用dbcc indexdefrag,整理指定的表或視圖的聚集索引和輔助索引碎片。

語(yǔ)法:

    dbcc  indexdefrag
   ({database_name|database_id|0},{table_name|table_id|'view_name'|view_id},{index_name|index_id}) 
  with no_infomsgs                  

  


總結(jié),只有我們對(duì)索引有了充分了熟悉;我們掌握了索引的增刪改查四項(xiàng)基本操作,學(xué)會(huì)利用SQL Server ManagerSdudio去實(shí)現(xiàn)這些功能,和學(xué)會(huì)利用T-SQL語(yǔ)句去實(shí)現(xiàn)(自我感覺(jué)利用SQL Server Manager Sdudio 簡(jiǎn)單一些);當(dāng)然還要懂得學(xué)會(huì)分析和維護(hù)索引,這樣才會(huì)更好的讓它為咱們服務(wù)!

SQL Server--索引


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 能在线观看的一区二区三区 | 99精品国产在这里白浆 | 亚欧精品一区二区三区 | 久久久精品国产 | 免费福利视频网 | 国产合集福利视频在线视频 | 亚洲伊人久久综合一区二区 | 91久久99热青草国产 | 国产尤物在线视频 | 欧美视频第二页 | 国产日产欧美精品 | 青青青青啪视频在线观看 | 亚洲视频在线观 | 免费二区 | 久久精品国产精品亚洲人人 | 精品日韩二区三区精品视频 | 亚洲成a人片在线v观看 | 国产一区二区三区在线观看免费 | 日日摸夜夜添夜夜添人人爽 | 一区二区三区免费在线观看 | 永久看日本大片免费 | 国产色在线| 深夜福利剧场 | 伊人久久精品亚洲午夜 | 亚洲人成网站在线观看青青 | 国产亚洲亚洲精品777 | 国产欧美日韩精品第三区 | 久久99亚洲精品久久久久99 | 亚洲精品αv一区二区三区 亚洲精品爱爱久久 | 欧美久久久久欧美一区 | 久久精品国产精品亚洲红杏 | 成人免费国产欧美日韩你懂的 | 欧洲a视频 | 色噜噜狠狠色综合久 | 五月情婷婷 | 波多野吉衣一区二区三区在线观看 | 思思91精品国产综合在线 | 欧美 日韩 成人 | 伦理久久 | 日韩在线网 | a成人在线 |