mssql 建立索引
更新時間:2009年04月09日 00:33:49 作者:
假設(shè)你想找到本書中的某一個句子。你可以一頁一頁地逐頁搜索,但這會花很多時間。而通過使用本書的索引,你可以很快地找到你要搜索的主題。
用SQL建立索引
為了給一個表建立索引,啟動任務(wù)欄SQL Sever程序組中的ISQL/w程序。進(jìn)入查詢窗口后,輸入下面的語句:
CREATE INDEX mycolumn_index ON mytable (myclumn)
這個語句建立了一個名為mycolumn_index的索引。你可以給一個索引起任何名字,但你應(yīng)該在索引名中包含所索引的字段名,這對你將來弄清楚建立該索引的意圖是有幫助的。
注意:
執(zhí)行任何SQL語句,都會收到如下的信息:
This command did not return data,and it did not return any rows
這說明該語句執(zhí)行成功了。
索引mycolumn_index對表mytable的mycolumn字段進(jìn)行。這是個非聚簇索引,也是個非唯一索引。(這是一個索引的缺省屬性)
如果你需要改變一個索引的類型,你必須刪除原來的索引并重建 一個。建立了一個索引后,你可以用下面的SQL語句刪除它:
DROP INDEX mytable.mycolumn_index
注意在DROP INDEX 語句中你要包含表的名字。在這個例子中,你刪除的索引是mycolumn_index,它是表mytable的索引。
要建立一個聚簇索引,可以使用關(guān)鍵字CLUSTERED。)記住一個表只能有一個聚簇索引。(這里有一個如何對一個表建立聚簇索引的例子:
CREATE CLUSTERED INDEX mycolumn_clust_index ON mytable(mycolumn)
如果表中有重復(fù)的記錄,當(dāng)你試圖用這個語句建立索引時,會出現(xiàn)錯誤。但是有重復(fù)記錄的表也可以建立索引;你只要使用關(guān)鍵字ALLOW_DUP_ROW把這一點告訴SQL Sever即可:
CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)
WITH ALLOW_DUP_ROW
這個語句建立了一個允許重復(fù)記錄的聚簇索引。你應(yīng)該盡量避免在一個表中出現(xiàn)重復(fù)記錄,但是,如果已經(jīng)出現(xiàn)了,你可以使用這種方法。
要對一個表建立唯一索引,可以使用關(guān)鍵字UNIQUE。對聚簇索引和非聚簇索引都可以使用這個關(guān)鍵字。這里有一個例子:
CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)
這是你將經(jīng)常使用的索引建立語句。無論何時,只要可以,你應(yīng)該盡量對一個對一個表建立唯一聚簇索引來增強(qiáng)查詢操作。
最后,要建立一個對多個字段的索引──復(fù)合索引──在索引建立語句中同時包含多個字段名。下面的例子對firstname和lastname兩個字段建立索引:
CREATE INDEX name_index ON username(firstname,lastname)
這個例子對兩個字段建立了單個索引。在一個復(fù)合索引中,你最多可以對16個字段進(jìn)行索引。
您可能感興趣的文章:
相關(guān)文章
用非動態(tài)SQL Server SQL語句來對動態(tài)查詢進(jìn)行執(zhí)行
此文章主要向大家講述的是非動態(tài)SQL ServerSQL語句執(zhí)行動態(tài)查詢,在實際操作中我嘗試在一個存儲過程中,來進(jìn)行傳遞一系列以逗號劃定界限的值,來對結(jié)果集進(jìn)行限制。但是無論什么時候,我在IN子句中使用變量,都會得到錯誤信息2017-06-06mssql無數(shù)據(jù)庫日志文件恢復(fù)數(shù)據(jù)庫的方法
因各種原因我們需要注意恢復(fù)數(shù)據(jù)庫,如果剛好有沒有數(shù)據(jù)庫日志文件,那就不妨用下面的方法2008-09-09SQL入侵恢復(fù)xp_cmdshell方法總結(jié)
恢復(fù)xp_cmdshell SQL Server阻止了對組件 'xp_cmdshell' 的過程'sys.xp_cmdshell' 啟用2010-08-08淺述SQL Server的語句類別 數(shù)據(jù)庫范式 系統(tǒng)數(shù)據(jù)庫組成
本文著重講解了SQL語句的組成以及數(shù)據(jù)庫的三個范式,對系統(tǒng)數(shù)據(jù)庫的組成進(jìn)行簡短的介紹。有興趣的朋友可以看下2016-12-12SQLServer 數(shù)據(jù)庫備份過程中經(jīng)常遇到的九種情況
SQLServer 數(shù)據(jù)庫備份過程中經(jīng)常遇到各種問題,大家可以參照下面的問題,來分析下,快速的解決問題。2009-07-07sqlserver利用存儲過程去除重復(fù)行的sql語句
以前弄過類似,去除相同信息的方法,現(xiàn)在找不到了,不過今天又花一些時間給弄出來了,記錄一下2010-06-06