可以用create index創(chuàng)建索引,如create index test_idx on tablename(col1,col2)
創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍港企業(yè)提供專業(yè)的網(wǎng)站設計制作、成都網(wǎng)站設計,龍港網(wǎng)站改版等技術服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
系統(tǒng)優(yōu)化時會自動選擇使整個查詢開銷最小的查詢計劃。如你的sql 為select * from tablename where col1 = @col1 and col2 = @col2 時一般都會用到索引。
在使用sql
server數(shù)據(jù)庫系統(tǒng)的網(wǎng)友們都知道,一個好的數(shù)據(jù)庫系統(tǒng)里面如果缺少索引,那么這個數(shù)據(jù)庫就不算是一個完整的數(shù)據(jù)庫系統(tǒng),因為數(shù)據(jù)庫系統(tǒng)是用來存放數(shù)據(jù)的,索引就像標簽一樣,用戶通過索引可以快速的找到自己想要的東西。接下來小編要講的兩個問題是,第一sql
server2014怎么創(chuàng)建索引第二個是sqlserver2014刪除索引的方法。
sql
server2014怎么創(chuàng)建索引:
ALTER
TABLE
`table_name`
ADD
INDEX
index_name
(
`column`
)
1、下面演示下user表的name字段添加一個索引
2、主鍵索引
添加PRIMARY
KEY
ALTER
TABLE
`table_name`
ADD
PRIMARY
KEY
(
`column`
)
3、唯一索引
添加UNIQUE
ALTER
TABLE
`table_name`
ADD
UNIQUE
(
`column`
)
4、全文索引
添加FULLTEXT
ALTER
TABLE
`table_name`
ADD
FULLTEXT
(
`column`)
5、如何添加多列索引
ALTER
TABLE
`table_name`
ADD
INDEX
index_name
(
`column1`,
`column2`,
`column3`
)
sqlserver2014刪除索引方法:
可利用ALTER
TABLE或DROP
INDEX語句來刪除索引。類似于CREATE
INDEX語句,DROP
INDEX可以在ALTER
TABLE內部作為一條語句處理,語法如下。
DROP
INDEX
index_name
ON
talbe_name
ALTER
TABLE
table_name
DROP
INDEX
index_name
ALTER
TABLE
table_name
DROP
PRIMARY
KEY
其中,前兩條語句是等價的,刪除掉table_name中的索引index_name。
第3條語句只在刪除PRIMARY
KEY索引時使用,因為一個表只可能有一個PRIMARY
KEY索引,因此不需要指定索引名。如果沒有創(chuàng)建PRIMARY
KEY索引,但表具有一個或多個UNIQUE索引,則MySQL將刪除第一個UNIQUE索引。
如果從表中刪除了某列,則索引會受到影響。對于多列組合的索引,如果刪除其中的某列,則該列也會從索引中刪除。如果刪除組成索引的所有列,則整個索引將被刪除。
總結:如果有網(wǎng)友在用sql數(shù)據(jù)庫系統(tǒng)時,遇到索引之類的問題可以查看小編的教程希望可以給網(wǎng)友們提供有效幫助哈哈!!
收藏
問題反饋
索引
索引,使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結構。 在關系數(shù)據(jù)庫中,索引是一種與表有關的數(shù)據(jù)庫結構,它可以使對應于表的SQL語句執(zhí)行得更快。索引的作用相當于圖書的目錄,可以根據(jù)目錄中的頁碼快速找到所需的內容。當表中有大量記錄時,若要對表進行查詢,第一種搜索信息方式是全表搜索,是將所有記錄一一取出,和查詢條件進行一一對比,然后返回滿足條件的記錄,這樣做會消耗大量數(shù)據(jù)庫系統(tǒng)時間,并造成大量磁盤I/O操作;第二種就是在表中建立索引,然后在索引中找到符合查詢條件的索引值,最后通過保存在索引中的ROWID(相當于頁碼)快速找到表中對應的記錄。 索引是一個單獨的、物理的數(shù)據(jù)庫結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數(shù)據(jù)頁的邏輯指針清單。 索引提供指向存儲在表的指定列中的數(shù)據(jù)值的指針,然后根據(jù)您指定的排序順序對這些指針排序。數(shù)據(jù)庫使用索引的方式與您使用書籍中的索引的方式很相似:它搜索索引以找到特定值,然后順指針找到包含該值的行。 在數(shù)據(jù)庫關系圖中,可以在選定表的“索引/鍵”屬性頁中創(chuàng)建、編輯或刪除每個索引類型。當保存索引所附加到的表,或保存該表所在的關系圖時,索引將保存在數(shù)據(jù)庫中。
用創(chuàng)建索引的語句:
CREATE[?UNIQUE?]?[?CLUSTERED?|?NONCLUSTERED?]?INDEX索引名
ON?{表名|視圖名}?(列名[?ASC?|?DESC?]?[?,...n?]?)
這樣一來,可從索引視圖檢索數(shù)據(jù)而無需重新編碼,由此帶來的高效率也使現(xiàn)有查詢獲益。在視圖上創(chuàng)建的第一個索引必須是唯一聚集索引。在創(chuàng)建唯一聚集索引后,可創(chuàng)建其它非聚集索引。視圖上的索引命名規(guī)則與表上的索引命名規(guī)則相同。唯一區(qū)別是表名由視圖名替換。(Sql Server聯(lián)機幫助)
語句:Create VIEW vXXX WITH SCHEMABINDING AS……
Create UNIQUE CLUSTERED INDEX idxXXX ON vXXX(cXXX)
一個標準視圖轉換為一個索引視圖必須遵守以下規(guī)則:
A.視圖必須使用With Schemabinding選項來創(chuàng)建;
如果創(chuàng)建視圖時沒有with Schemabinding,試圖創(chuàng)建視圖時就會報錯:……因為該視圖未綁定到架構
B.在這個視圖中不能使用其他視圖、導出表、行集函數(shù)或自查詢,也就是說只能使用表;
C.視圖所用到的基本表必須和視圖屬于同一個所有者;
D.視圖只能鏈接同一個數(shù)據(jù)庫中的表;
E.視圖不能包含一個外部鏈接或自鏈接,也就是說在鏈接表時只能使用INNER JOIN并且INNER JOIN前后不能使同一個表,不能使用LEFT(RIGHT) JOIN 或者 LEFT (RIGHT) OUTER JOIN ;
F. 視圖不能包含UNION子句、TOP子句、ORDER BY子句、Having子句、Rollup子句、Cube子句、compute子句、Compute By子句或Distinct關鍵字;
G. 視圖不允許使用某些集合函數(shù),如:Count(*)可以使用count_big(*)代替、avg()、max()、min()、stdev()、stdevp()、var()或varp()等;
H. 視圖不能使用Select * 這樣的語句,也就是說視圖的所有字段都必須顯示指定;
I. 視圖不能包含Text、ntext、image類型的列;
J. 如果視圖包含一個Group By子句,那么他必須在Select列中包含count_big(*);
K. 視圖中的所有標和用戶自定義的函數(shù)都必須使用兩段式名來引用,即所有者.表或函數(shù)名稱;
L. 所有的基本表和視圖都必須使用 Set Ansi_Nulls On 創(chuàng)建;
M. 在創(chuàng)建索引時或創(chuàng)建索引后執(zhí)行IUD時,必須顯示或隱式地執(zhí)行:
Set ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET ARITHABORT ON
SET CONCAT_NULL_YIELDS_NULL ON
SET QUOTED_IDENTIFIER ON
SET NUMERIC_ROUNDABORT OFF
各個選項的有關信息或意義,可以查閱SQL Server的聯(lián)機叢書,這里就不再介紹了;
N. 索引視圖只有在SQL Server2000的企業(yè)版或開發(fā)版或者更高的版本中才能創(chuàng)建。