99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-03-09 閱讀量: 926
Oracle的索引

索引是用于加速數(shù)據(jù)存取的數(shù)據(jù)對(duì)象,有很多種數(shù)據(jù)結(jié)構(gòu)的不同實(shí)現(xiàn)方式,基本思想就是在表的列上構(gòu)建一個(gè)二叉樹(shù)。合理的使用索引可以大大降低i/o次數(shù),從而提高數(shù)據(jù)訪問(wèn)性能。索引大大提高了查詢的效率,但是卻增加了更新的維護(hù)成本,所以不能亂建索引,不能建立過(guò)多的索引,對(duì)于不經(jīng)常查詢的字段,就不要去建對(duì)應(yīng)的索引。

創(chuàng)建索引之后再pl/sql工具的左邊的indexes下刷新即可看見(jiàn)創(chuàng)建的索引

1). 索引的使用原則

  1. 在大表上建立索引才有意義。
  2. 在where字句后面或者是在連接條件on上或者過(guò)濾條件having后面的字段建立索引。
  3. 表中的數(shù)據(jù)修改頻率較高時(shí)不建議建立索引,否則會(huì)大大增加更新的維護(hù)成本。

2). 創(chuàng)建索引的方式

  • 語(yǔ)法
  • 1. 單列索引
  • 單列索引是基于單個(gè)列所建立的索引;
  • 【觸發(fā)單列索引規(guī)則】:條件必須是索引列中的原始值;如果條件中使用的索引列的非原始值,比如單行函數(shù),模糊查詢,會(huì)使引擎放棄索引觸發(fā)進(jìn)而全表檢索
  • 創(chuàng)建單列索引
  • create index idx_ename on emp(ename);
  • 觸發(fā)單列索引
  • select * from emp where ename='SCOTT';
  • 2. 復(fù)合索引
  • 復(fù)合索引是基于兩個(gè)列或者多個(gè)列的索引。在同一張表上可以有多個(gè)索引,當(dāng)然,要求列的組合必須不同!
  • 【觸發(fā)復(fù)合索引規(guī)則】:第一列為優(yōu)先檢索列,如果要觸發(fā)復(fù)合索引,必須包含有優(yōu)先檢索列中的原始值
  • 創(chuàng)建復(fù)合索引,第一列的ename為優(yōu)先檢索列
  • create index idx_ename_job on emp(ename, job);
  • 觸發(fā)復(fù)合索引
  • select * from emp where ename = 'SCOTT' and job = 'xx';
  • 注意:or 關(guān)鍵字會(huì)放棄索引
  • select * from emp where ename = 'SCOTT' or job = 'xx'; -- 這里的 or 關(guān)鍵字不會(huì)觸發(fā)索引
  • 如果一個(gè)索引列既被設(shè)置為單列索引,又被設(shè)置為多列索引,如下寫法觸發(fā)的為單列索引

27.2058
4
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無(wú)數(shù)據(jù)
推薦帖子