日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Oracle-----同义词索引

發(fā)布時(shí)間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle-----同义词索引 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上一篇👉:Oracle-----視圖的創(chuàng)建與使用&視圖的更新操作


總目錄👉震驚!史上最菜的Oracle 11g教程(大佬勿進(jìn))

文章目錄

  • 1、目標(biāo)
  • 2、同義詞
    • 2.1 范例1:將scott.emp數(shù)據(jù)表映射為semp
    • 2.2 范例2:切換回sys用戶,重新創(chuàng)建同義詞
  • 3、索引
    • 3.1 范例1:為scott.emp表在sal字段上創(chuàng)建索引


🚴大家好!我是近視的腳踏實(shí)地,這篇文章主要是來(lái)學(xué)習(xí)Oracle的同義詞和索引
?? ??唯有行動(dòng) ?才能解除你所有的不安

1、目標(biāo)

1、了解同義詞的作用即可
2、分析索引的主要作用以及索引的定義和使

2、同義詞

同義詞本質(zhì)上來(lái)講就屬于近義詞的概念。在之前使用這樣的一種查詢。

select sysdate from dual;


此時(shí)程序就是查日期時(shí)間的,但是在之前說(shuō)過(guò),dual屬于一張臨時(shí)表,那么這張臨時(shí)表到底是屬于誰(shuí)的呢,首先在當(dāng)前scott用戶執(zhí)行如下語(yǔ)句

select * from tab where tname='DUAL';


可以看到?jīng)]查詢到,說(shuō)明dual表不是屬于scott用戶的,那么除了scott,我們還有兩個(gè)用戶,那么先切換到system用戶再來(lái)查詢:point-down::

conn system/system; select * from tab where tname='DUAL';


可以看到也不是system用戶的,那么在切換到sys用戶

conn sys/sys as sysdba; select * from tab where tname='DUAL';


然后終于找到了,那么通過(guò)一系列的查詢可以發(fā)現(xiàn),dual數(shù)據(jù)表本身屬于sys用戶的,那么有的就出現(xiàn)一個(gè)疑問(wèn)了

既然dual屬于sys,那么按照之前拿的概念來(lái)講,不同的用戶要進(jìn)行表的互相訪問(wèn),前面需要使用模式名,也就是說(shuō)如果scott用戶要使用dual,則用過(guò)使用的是sys.dual才對(duì)。那么比如當(dāng)前是在sys用戶下的,想要查詢emp表這樣是不對(duì)的👇:

select * from emp;


而是應(yīng)該加上模式名👇:

select * from scott.emp;


而dual操作就屬于同義詞的定義范疇,也就是說(shuō)dualsys.dual的同義詞。如果要想創(chuàng)建同義詞,則可以使用如下的語(yǔ)法完成👇:
?? ??create [public] synonym 同義詞名稱 for 模式.表名稱

2.1 范例1:將scott.emp數(shù)據(jù)表映射為semp

范例1 將scott.emp數(shù)據(jù)表映射為semp

create synonym semp for scott.emp;


同義詞創(chuàng)建完成之后就可以直接利用同義詞進(jìn)行數(shù)據(jù)查詢(當(dāng)前的用戶仍然是sys)

select * from semp;


但是現(xiàn)在的問(wèn)題是,此同義詞無(wú)法被其他用戶所使用,它只能夠被sys所使用。比如現(xiàn)在切換到system用戶中,再來(lái)嘗試查詢👇:

conn system/system; select * from semp;

2.2 范例2:切換回sys用戶,重新創(chuàng)建同義詞

范例2 切換回sys用戶,重新創(chuàng)建同義詞

如果要想讓一個(gè)同義詞被所有用戶去使用,那么應(yīng)該創(chuàng)建為公共同義詞。

conn sys/sys as sysdba; drop synonym semp; create public synonym semp for scott.emp;


然后切換回system用戶下驗(yàn)證一下👇:

conn system/system; select * from semp;


此時(shí)雖然同義詞可以被其他用戶訪問(wèn)了,但是對(duì)我們開(kāi)發(fā)的意義不大。

同義詞屬于Oracle自己的概念,所以對(duì)于實(shí)際的開(kāi)發(fā)上幫助不大,最為重要的就是理解dual的使用即可

3、索引

先拋開(kāi)索引的概念不看,只看索引能夠做什么事情,以及為什么需要有索引。

現(xiàn)在來(lái)觀察如下的一段程序代碼。(切換回scott用戶)

select * from emp where sal > 1500;


這是一條非常簡(jiǎn)單的查詢語(yǔ)句。于是下面就通過(guò)此語(yǔ)句來(lái)分析一下數(shù)據(jù)庫(kù)在這之中做了什么?為了可以讓大家觀察方便,下面打開(kāi)追蹤器。切換到sys用戶

conn sys/sys as sysdba; set autotrace on;


打開(kāi)之后接著直接在sys用戶中進(jìn)行性能信息的查詢,此時(shí)的查詢除了會(huì)返回結(jié)果之外,還會(huì)返回給用戶一些分析的信息👇:

select * from scott.emp;


可以看到執(zhí)行計(jì)劃里邊有個(gè)TABLE ACCESS FULL,此時(shí)直接描述的是要進(jìn)行全表掃描,就屬于逐行掃描。而且最為關(guān)鍵的問(wèn)題在于,如果說(shuō)現(xiàn)在emp表的數(shù)據(jù)有50W條。可能在第20920條之后就沒(méi)有任何雇員記錄可以滿足于此條件(sal>1500),那么這個(gè)時(shí)候以上的語(yǔ)句會(huì)繼續(xù)向后查,這就是一種浪費(fèi)。因?yàn)槊词悄J(rèn)逐行掃描,都會(huì)掃描完,性能就很差。

那么已經(jīng)知道了問(wèn)題,那么該如何解決這樣的查詢呢?那么現(xiàn)在第一個(gè)想法九是需要知道明確的數(shù)據(jù)的排序。如果直接使用Order by是排序,但是Order by是整個(gè)查詢語(yǔ)句之中最后執(zhí)行的,也就說(shuō)此時(shí)還沒(méi)到Order by 中。所以在這種情況下,數(shù)據(jù)的最好的排列是根據(jù)樹(shù)(二叉樹(shù))排列。

樹(shù)的排列原則是:選取一個(gè)數(shù)據(jù)作為根節(jié)點(diǎn),比次節(jié)點(diǎn)大的數(shù)據(jù)放在右子樹(shù),比節(jié)點(diǎn)小的數(shù)據(jù)放在左子樹(shù)。這樣就可以實(shí)現(xiàn)排序。但是現(xiàn)在的問(wèn)題是,選什么數(shù)據(jù)?本程序使用的是sal字段,所以就應(yīng)該利用sal來(lái)操作索引。

select sal from scott.emp;



所以這個(gè)時(shí)候就可以來(lái)進(jìn)行索引的創(chuàng)建以及實(shí)現(xiàn)以上的操作結(jié)構(gòu)。在整個(gè)的操作過(guò)程之中,如果要想創(chuàng)建索引,那么必須要設(shè)置一個(gè)指定的字段。(當(dāng)前還是在sys用戶)

3.1 范例1:為scott.emp表在sal字段上創(chuàng)建索引

范例1 為scott.emp表在sal字段上創(chuàng)建索引

create index emp_sal_ind on scott.emp(sal);


一旦索引創(chuàng)建完成之后,保證你的跟蹤器是打開(kāi)的(set autotrace on;),就可以直接觀察此時(shí)的查詢與之前的有什么不同,那么下面重新發(fā)出一次查詢的指令(仍然在sys用戶下查詢)👇:

select * from scott.emp where sal > 1500;


通過(guò)此時(shí)的查詢分析器可以發(fā)現(xiàn),此時(shí)的查詢不再使用全表掃描。用的是👉:TABLE ACCESS BY INDEX ROWID、INDEX RANGE SCAN

此時(shí)進(jìn)行查詢的時(shí)候不是全部數(shù)據(jù)都進(jìn)行查詢了,而是查詢了所需要的范圍的內(nèi)容。

雖然利用索引可以進(jìn)行查詢的提升,但是需要明確一個(gè)問(wèn)題所在,索引提升查詢的關(guān)鍵在于👉:那顆索引樹(shù)。那么說(shuō)現(xiàn)在你的數(shù)據(jù)表之中,sal字段的內(nèi)容都在重復(fù)改變的時(shí)候,那么這顆樹(shù)將"殺死你"。

樹(shù)的維護(hù)操作是需要花費(fèi)時(shí)間的,如果數(shù)據(jù)小,那么可以在很短的時(shí)間內(nèi)進(jìn)行樹(shù)的生成,但是如果數(shù)據(jù)量一大呢?時(shí)間會(huì)花費(fèi)巨大。(所以如果說(shuō)現(xiàn)在不想重復(fù)地進(jìn)行樹(shù)的維護(hù),那么就必須保證數(shù)據(jù)的不可更改與唯一性,所以默認(rèn)情況下會(huì)在主鍵約束上自動(dòng)追加一個(gè)索引)。

在現(xiàn)實(shí)開(kāi)發(fā)之中又會(huì)出現(xiàn)一個(gè)問(wèn)題:

?? ??● 保證用戶的回應(yīng)速度快,沒(méi)有延遲;
?? ??● 能夠承受用戶大量的更新操作。

如果要想查詢速度快,那么必須使用索引;

如果要想保證更新速度,那么又不能使用索引。

所以這個(gè)時(shí)候最好的做法就是犧牲實(shí)時(shí)性。等于有兩個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)庫(kù)專門給用戶負(fù)責(zé)查詢使用,另外一個(gè)數(shù)據(jù)專門給用戶更新操作使用。對(duì)于查詢的數(shù)據(jù)庫(kù),可以在每天凌晨2-3點(diǎn)進(jìn)行信息的統(tǒng)一保存或者是統(tǒng)一的分析后保存。


下一篇👉Oracle-----用戶管理

本篇博客到這就完啦,非常感謝您的閱讀🙏,如果對(duì)您有幫助,可以幫忙點(diǎn)個(gè)贊或者來(lái)波關(guān)注鼓勵(lì)一下喔😬 ,嘿嘿👀

總結(jié)

以上是生活随笔為你收集整理的Oracle-----同义词索引的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜色福利 | 91黑人精品一区二区三区 | 成人动漫一区 | 在线视频免费观看一区 | 男女性高潮免费网站 | 久久久线视频 10 | 欧美激情精品久久久久久 | 日韩黄色网页 | 亚洲精品白浆 | 青草视频免费观看 | 久久综合色88 | 天天摸日日摸 | 一久久久久 | 亚洲欧美日韩精品在线 | 农民人伦一区二区三区 | 噜噜噜噜私人影院 | 日本一二三区视频在线 | 黄色三级三级三级 | 国产欧美日韩综合精品一区二区 | 日本黄色动态图 | 福利国产视频 | 91免费视频免费版 | 小少妇哺乳喂奶播放 | av一级黄色 | 亚洲色成人一区二区三区小说 | 天天干天天干 | 免费91网站| 久久久精品美女 | 美女网站免费观看 | 国产经典一区二区 | 国产91国语对白在线 | 婷婷伊人五月天 | 成年人午夜 | 国产一区二区三区免费观看 | 国产精品高潮呻吟久久久 | 日本国产精品一区 | 国产中文字幕一区二区 | 在线免费av网 | 无码人妻精品一区二区蜜桃视频 | 免看一级a毛片一片成人不卡 | 日本美女性爱视频 | 亚洲小说区图片区都市 | 久久精品7| 久久综合国产精品 | 欧美亚洲在线播放 | 观看免费av| 日韩av不卡在线播放 | 午夜亚洲| 天天舔天天操天天干 | 国产综合自拍 | 一区视频在线免费观看 | 偷拍欧美另类 | 67194午夜| 中文字幕在线观看一区二区三区 | 精品少妇人妻一区二区黑料社区 | 亚洲婷婷网 | 国产图片区 | 国产日本一区二区 | 中文欧美日韩 | 粉嫩av一区二区三区天美传媒 | 国产精品女教师 | 香蕉尹人网| 精品在线视频观看 | 国产偷人 | 欧美一区二区三区免费观看 | 天天曰夜夜操 | 毛片在线免费观看视频 | 国产女人18毛片水真多1 | 中文字幕高清在线观看 | 在线一区不卡 | 国产一区二区三区影视 | av在线三区 | 日韩av免费 | 欧美一区二区三区成人片在线 | 国产女人18水真多18精品一级做 | 91福利小视频 | 欧美xxx视频 | 简单av网| 亚洲啪av永久无码精品放毛片 | 好男人www社区| 五月天丁香婷 | 日韩伦理视频 | 91在线中文| 国产3级在线 | 777久久 | 欧美特黄一级大片 | 夜夜春av | 四色成人网 | 久久久久99人妻一区二区三区 | 热逼视频 | 精品国产乱码久久久久久婷婷 | 欧美人体做爰大胆视频 | 九九色网站 | 天天操天天射天天 | 日韩一区二区三区av | 蜜臀av首页| 中文字幕成人在线视频 | 夜夜躁日日躁狠狠久久av | 日本激情一区二区三区 |