SQL基礎(chǔ)2:mysql 贿讹、sqlserver、oracle創(chuàng)建 查看 刪除 索引

目錄:
一够掠、MYSQL
二民褂、Sqlserver
三、ORACLE
四疯潭、索引作用

前言:如果你閱讀這篇文章只想找創(chuàng)建索引的語法赊堪,直接復(fù)制創(chuàng)建普通索引的語法即可。
如果你想了解并學(xué)習(xí)各類索引袁勺,可以結(jié)合推薦的鏈接進(jìn)行學(xué)習(xí)

一踪少、MYSQL

MySQL索引分為普通索引恢着、唯一索引、主鍵索引、組合索引较曼、全文索引割岛。
1遣鼓、MySQL創(chuàng)建普通索引滨溉,沒有任何約束

CREATE     INDEX    索引名   ON    表名(字段名)

例:

CREATE INDEX score_index ON maoyantop(score); 

2、MySQL唯一索引
它與前面的普通索引類似埠通,不同的就是:索引列的值必須唯一赎离,但允許有空值。如果是組合索引端辱,則列值的組合必須唯一梁剔。

CREATE UNIQUE INDEX 索引名 ON 表名(字段名) 

3、MySQL主鍵索引
是一種特殊的唯一索引舞蔽,一個(gè)表只能有一個(gè)主鍵荣病,不允許有空值。一般是在建表的時(shí)候同時(shí)創(chuàng)建主鍵索引

ALTER TABLE 表名 ADD PRIMARY KEY(字段名)

例:

ALTER TABLE AIS_MDXSJERI ADD PRIMARY KEY(DH,SJ)

主鍵索引

4渗柿、MySQL組合索引
指多個(gè)字段上創(chuàng)建的索引个盆,只有在查詢條件中使用了創(chuàng)建索引時(shí)的第一個(gè)字段,索引才會(huì)被使用。使用組合索引時(shí)遵循最左前綴集合

ALTER TABLE 表名 ADD INDEX 索引名 (字段1,字段2,字段3); 

例:

ALTER TABLE AIS_MDXSJERI ADD INDEX_DHSJ(DH,SJ)

5颊亮、MySQL查看索引

SHOW INDEX FROM 表名

例:

SHOW INDEX FROM AIS_Cashier


mysql索引推薦文章一
mysql索引推薦文章二(點(diǎn)擊藍(lán)色字體可跳轉(zhuǎn)到相應(yīng)網(wǎng)頁)

二柴梆、Sqlserver

Sqlserver索引分為聚簇索引、非聚簇索引(普通索引)终惑、唯一索引绍在、主鍵索引

CREATE [索引類型] INDEX 索引名稱  ON 表名(列名)

1、Sqlserver非聚簇索引(普通索引)
非聚集索引就相當(dāng)于使用字典的部首查找狠鸳,非聚集索引是邏輯上的連續(xù)揣苏,物理存儲(chǔ)并不連續(xù)

create nonclustered index 索引名 on 表名 (字段名);

例:

create nonclustered index index_sno on dbo.Student(Sno)

2悯嗓、Sqlserver聚簇索引(主鍵索引)
一個(gè)表最多只能有一個(gè)聚簇索引件舵。創(chuàng)建主鍵的時(shí)候會(huì)自動(dòng)創(chuàng)建聚簇索引

create clustered index 索引名 on 表名 (字段);

例:

create clustered index index_DHSJ on AIS_MDXSJERI(MDLX);

3、Sqlserver唯一索引(UNIQUE)
唯一索引可以作為數(shù)據(jù)的一個(gè)合法驗(yàn)證手段,例如學(xué)生表的身份證號碼字段,我們?nèi)藶橐?guī)定該字段不得重復(fù),那么就使用唯一索引(唯一索引允許索引字段為空)

create unique index  索引名  on 表名(字段名);

例:

create unique index  index_DHSJ  on AIS_MDXSJERI(DHSJ);

4脯厨、Sqlserver刪除索引
創(chuàng)建主鍵時(shí)自動(dòng)創(chuàng)建的索引是不能刪除的

Drop  index  表名.索引名

例:

Drop  index  dbo.Sm_idx_SMDTV_1.dx_SMDTV_1__68487DD7;

4铅祸、Sqlserver查看指定表中的索引

Execute    sp_helpindex  @objname='TMAIN.T_BAS_ENTERLIST_PRO';  

例:

Execute sp_helpindex @objname = 'dbo.Student'

查看索引

sqlserver索引文章推薦一
sqlserver索引文章推薦二

三、ORACLE

ORACLE索引分為唯一索引合武、非唯一索引临梗、主鍵索引
1、ORACLE非唯一索引(普通索引)

CREATE INDEX 索引名 on 表名(列名 DESC)

2稼跳、ORACLE唯一索引

CREATE unique INDEX 索引名 on 表名(列名 DESC)

例:

CREATE unique INDEX index_Sage on YWWATER.Student(Sage DESC)

ORACLE唯一索引

3盟庞、ORACLE主鍵索引
ORACLE在創(chuàng)建主鍵得時(shí)候就會(huì)自動(dòng)創(chuàng)建索引

alter table 表名 add constraint 主鍵名 primary key(字段)

例:

alter table YWWATER.Student add constraint index_Sno primary key(Sno)

oracle主鍵索引

4、ORACLE刪除索引
刪除表主鍵

ALTER TABLE 表明 DROP CONSTRAINT 主鍵名;

刪除索引

drop index 索引名;

4汤善、ORACLE查看表中索引

select * from user_ind_columns where table_name = upper('表名')

例:

關(guān)于ORACLE創(chuàng)建索引方面的文章找了很多什猖,任然沒找到滿意文章,如果大家看見ORACLE索引方面的文章红淡,麻煩推薦一下不狮。

四、索引作用

索引主要目的是提高系統(tǒng)的性能在旱,加快數(shù)據(jù)的查詢速度減少系統(tǒng)的響應(yīng)時(shí)間 摇零。
但是索引對于提高查詢性能也不是萬能的,也不是建立越多的索引就越好桶蝎。

  • 索引建少了驻仅,用 WHERE 子句找數(shù)據(jù)效率低,不利于查找數(shù)據(jù)登渣。
  • 索引建多了噪服,不利于新增、修改和刪除等操作绍豁,因?yàn)樽鲞@些操作時(shí)芯咧,除了要更新數(shù)據(jù)表本身,還要連帶立即更新所有的相關(guān)索引,而且過多的索引也會(huì)浪費(fèi)硬盤空間敬飒。

索引定義原則:

1邪铲、避免對經(jīng)常更新的表進(jìn)行過多的索引,并且索引中的列盡可能少无拗。
2带到、對經(jīng)常用于查詢的字段應(yīng)該創(chuàng)建索引,但要避免添加不必要的字段英染。

3揽惹、在條件表達(dá)式中經(jīng)常用到的、不同值較多的列上建立索引四康,在不同值少的列要建立索引搪搏。
4、在頻繁進(jìn)行排序或分組(即進(jìn)行 GROUP BY 或 ORDER BY 操作)的列上建立索引闪金,如果待排序的列有多個(gè)疯溺,可以在這些列上建立組合索引

5哎垦、在選擇索引鍵時(shí)囱嫩,盡可能采用小數(shù)據(jù)類型作為鍵以使每個(gè)索引頁能容納盡可能多的索引鍵和指針,通過這種方式漏设,可使一個(gè)查詢必需遍歷的索引頁面降低到最小墨闲,此外,盡可能使用整數(shù)做為鍵值郑口,因?yàn)檎麛?shù)的訪問速度最快鸳碧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市潘酗,隨后出現(xiàn)的幾起案子杆兵,更是在濱河造成了極大的恐慌,老刑警劉巖仔夺,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琐脏,死亡現(xiàn)場離奇詭異,居然都是意外死亡缸兔,警方通過查閱死者的電腦和手機(jī)日裙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惰蜜,“玉大人昂拂,你說我怎么就攤上這事∨撞” “怎么了格侯?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵鼻听,是天一觀的道長。 經(jīng)常有香客問我联四,道長撑碴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任朝墩,我火速辦了婚禮醉拓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘收苏。我一直安慰自己亿卤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布鹿霸。 她就那樣靜靜地躺著排吴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杜跷。 梳的紋絲不亂的頭發(fā)上傍念,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天矫夷,我揣著相機(jī)與錄音葛闷,去河邊找鬼。 笑死双藕,一個(gè)胖子當(dāng)著我的面吹牛淑趾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忧陪,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼扣泊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嘶摊?” 一聲冷哼從身側(cè)響起延蟹,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叶堆,沒想到半個(gè)月后阱飘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虱颗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年沥匈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忘渔。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡高帖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畦粮,到底是詐尸還是另有隱情散址,我是刑警寧澤乖阵,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站预麸,受9級特大地震影響义起,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜师崎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一默终、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犁罩,春花似錦齐蔽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丐巫,卻和暖如春谈况,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背递胧。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工碑韵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缎脾。 一個(gè)月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓祝闻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親遗菠。 傳聞我的和親對象是個(gè)殘疾皇子联喘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359