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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

oracle中sum和count可以嵌套吗_【分享吧】Oracle查询转换

發(fā)布時(shí)間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中sum和count可以嵌套吗_【分享吧】Oracle查询转换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

“查詢轉(zhuǎn)換”是Oracle解析SQL語(yǔ)句中重要的步驟。其原理是Oracle在解析時(shí)通過對(duì)原有SQL的等價(jià)改寫,以達(dá)到較高執(zhí)行效率的方式。

上圖展示了SQL的執(zhí)行過程,當(dāng)客戶提交的語(yǔ)句經(jīng)過解析后,在提交給優(yōu)化器之前會(huì)進(jìn)行一個(gè)查詢轉(zhuǎn)換的步驟。在這個(gè)步驟中,Oracle會(huì)根據(jù)一些規(guī)則來決定對(duì)目標(biāo)SQL進(jìn)行查詢轉(zhuǎn)換。根據(jù)處理方式的不同,查詢轉(zhuǎn)換可以分為兩類:

?????? 1、基于規(guī)則的查詢轉(zhuǎn)化,即當(dāng)滿足規(guī)則定義的條件時(shí),對(duì)語(yǔ)句進(jìn)行相應(yīng)的轉(zhuǎn)化。

?????? 2、基于成本的查詢轉(zhuǎn)化,即比較轉(zhuǎn)換前后的SQL成本,當(dāng)?shù)葍r(jià)改寫SQL的成本小于原始SQL成本時(shí),進(jìn)行SQL轉(zhuǎn)化。

常見的查詢轉(zhuǎn)化有:子查詢類、視圖類、謂詞類等。通過以下實(shí)例,對(duì)常用的查詢轉(zhuǎn)化進(jìn)行說明。

01

子查詢類

子查詢是SQL中常用的寫法,優(yōu)化器對(duì)會(huì)對(duì)子查詢提前進(jìn)行評(píng)估,使得優(yōu)化器可以更早地介入優(yōu)化,已獲得更優(yōu)質(zhì)的執(zhí)行計(jì)劃。

1、準(zhǔn)備兩張表,在子表上創(chuàng)建索引。

2、通過提示PUSH_SUBQ/NO_PUSH_SUBQ對(duì)優(yōu)化的子查詢轉(zhuǎn)換進(jìn)行控制,不使用查詢轉(zhuǎn)換,從執(zhí)行計(jì)劃可見,出現(xiàn)了FILTER關(guān)鍵字,這是指執(zhí)行按照T_OBJECTS和T_USERS進(jìn)行了一個(gè)索引的嵌套循環(huán),效率較低。

3、不使用提示,通過執(zhí)行計(jì)劃可看出沒有出現(xiàn)兩表嵌套,而是提前處理了子查詢,先生成了MAX CREATED,然后全表掃描T_OBJECTS進(jìn)行過濾,顯然這種方式效率更高。

02

視圖類

在視圖類的查詢轉(zhuǎn)換中最常用的就是視圖合并,是指優(yōu)化器將視圖定義的語(yǔ)句進(jìn)行拆解,不作為整體執(zhí)行,而是將其定義的語(yǔ)句與外部查詢合并起來,再由優(yōu)化器選擇執(zhí)行計(jì)劃。

1、創(chuàng)建一個(gè)帶有過濾條件的視圖,并對(duì)這個(gè)視圖進(jìn)行帶過濾條件的查詢。在執(zhí)行計(jì)劃中可以看出已經(jīng)沒有視圖對(duì)象出現(xiàn)。視圖內(nèi)部的過濾條件OWNER=’SYS’和外部的過濾條件OBJECT_ID=10都被合并在一起并轉(zhuǎn)換為基表T_OBJECTS的過濾條件。

2、同修改隱含參數(shù),不允許進(jìn)行簡(jiǎn)單視圖的合并。從執(zhí)行計(jì)劃中可以看到出現(xiàn)“VIEW”字樣,即沒有進(jìn)行視圖合并。

03

謂詞類

謂詞是指SQL語(yǔ)句中WHERE部分對(duì)數(shù)據(jù)過濾條件。Oracle優(yōu)化器會(huì)將SQL語(yǔ)句中謂詞的整體考慮,進(jìn)行謂詞轉(zhuǎn)化。例如:如果存在視圖,可以將視圖外部的過濾條件推入視圖中,這樣做可以盡早過濾數(shù)據(jù),提高查詢效率。

1、新建一個(gè)帶有過濾條件的視圖,然后進(jìn)行查詢。我們看到執(zhí)行計(jì)劃沒有看到謂詞推入,原因是這里采用了前面說的到視圖合并。

2、使用no_merge提示后我們看到在ID=1的步驟里可以看到VIEW字樣,即視圖沒有進(jìn)行合并。再看一下ID=2的步驟,由Predicate Information可見,過濾條件是STATUS=‘VALID’ AND OBJECT_ID=20。可見這里的條件不僅包括視圖定義中對(duì)表的過濾條件,還包括了從外部傳入的過濾條件。即過濾謂詞被推入了視圖定義中。

04

消除類

消除類是指優(yōu)化器在生成執(zhí)行計(jì)劃之前通過分析,省略SQL中的部分內(nèi)容。當(dāng)然消除前后的SQL語(yǔ)句一定是等價(jià)的。

1、排序消除,是指在優(yōu)化器再生成執(zhí)行計(jì)劃前,將語(yǔ)句中沒有必要的排序操作消除,避免在執(zhí)行計(jì)劃中出現(xiàn)排序操作或由排序?qū)е碌牟僮鳌?/p>

看下面查詢語(yǔ)句中的排序不是必須的,從Statistics的Sorts部分可以看出都是0,可以看出優(yōu)化器在生成執(zhí)行計(jì)劃時(shí),對(duì)排序進(jìn)行了消除。

2、去重消除,是指如果語(yǔ)句中對(duì)象存在主鍵或唯一約束,那么語(yǔ)句中的DISTINCT是可以消除的。

新建一張表,進(jìn)行DISTINCT查詢。通過下面的執(zhí)行計(jì)劃,可以看到默認(rèn)走了全面掃描,然后用HASH進(jìn)行了去重。

通過給T_USERS增加唯一索引后,再進(jìn)行查詢。通過執(zhí)行計(jì)劃可以看出是直接通過新增榆樹UK_USERNAME的索引完成了掃描,不需要再去重了。

3、表消除,是指兩表關(guān)聯(lián)且存在主外鍵關(guān)系時(shí),優(yōu)化器可以消除不必要的表訪問以提高效率。

首先創(chuàng)建T_TABLES、T_TABLESPACES兩張表,并創(chuàng)建他們之間的外鍵關(guān)系,并對(duì)T_TABLES進(jìn)行查詢。雖然SQL中關(guān)聯(lián)到了T_TABLESPACES,但其實(shí)是不需要的。所以通過執(zhí)行計(jì)劃可以看到優(yōu)化器對(duì)T_TABLESPACE進(jìn)行了消除。

除了以上介紹的查詢轉(zhuǎn)換,Oracle優(yōu)化器還會(huì)對(duì)OR、LIKE、IN、BETWEEN、NOT、常量等進(jìn)行查詢轉(zhuǎn)換,以生成更加合理的的執(zhí)行計(jì)劃,提高查詢效率。希望通過對(duì)Oracle查詢轉(zhuǎn)換的介紹,能讓大家對(duì)Oracle優(yōu)化有更進(jìn)一步的了解。

總結(jié)

以上是生活随笔為你收集整理的oracle中sum和count可以嵌套吗_【分享吧】Oracle查询转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 极品销魂美女一区二区三区 | 麻豆精品视频 | 一区免费视频 | 亚洲免费精品视频 | 伊人欧美 | 欧美肥妇bwbwbwbxx | 伊人影院在线视频 | 亚洲国产精品视频 | 在线看片网址 | 国产精品久久久久久久久动漫 | 国产三级中文字幕 | 国产在线观看免费 | 美女一级| av在线第一页 | 黄色片一区二区 | 亚洲伦乱| 无码 制服 丝袜 国产 另类 | 一区二区视频免费在线观看 | 制服 丝袜 激情 欧洲 亚洲 | 明星双性精跪趴灌满h | 特黄三级又爽又粗又大 | 欧美激情va永久在线播放 | 少妇69xx | 欧美一区二区三区成人片在线 | 精品国产免费人成在线观看 | 国产伦精品一区三区精东 | 国产特级aaaaaa大片 | 中文字幕天堂av | 一级久久 | 激情亚洲| av免费黄色| jizz中国少妇 | 国产精品一区二区三区高潮 | 99精品视频一区二区三区 | 久草播放 | 国产精品123区 | 天堂成人在线观看 | 久久精品视频一区二区 | 草草福利影院 | 色哟哟无码精品一区二区三区 | 欧美三级黄色大片 | 亲子乱对白乱都乱了 | 91av视频| 日本精品一二区 | 欧美一区二区三区啪啪 | 黑白配高清国语在线观看 | 视频一区中文字幕 | 免费av高清 | 丰满人妻一区二区三区53号 | 国产成人无码一区二区在线播放 | 国产乱人乱偷精品视频a人人澡 | av伦理在线| 日韩毛片视频 | 76少妇精品导航 | 91丨porny丨露出 | 精品黑人| 内射中出日韩无国产剧情 | 国产黄色一区二区 | 日本一区二区三区视频在线播放 | 婷婷成人在线 | 欧美成人黄色小视频 | 日韩在线中文字幕 | 激情文学亚洲 | www.操操操 | 久久精彩视频 | 99av国产精品欲麻豆 | 爱久久 | 国产精品久久久久久人妻精品动漫 | 麻豆传媒网页 | 欧美日韩色片 | 欧美日韩国产二区 | 欧美人妻一区二区三区 | 中文字幕一区二区三区四区视频 | 国产绿帽刺激高潮对白 | 91成人免费在线观看 | 中文字幕被公侵犯的漂亮人妻 | 美美女高清毛片视频免费观看 | 青青草婷婷 | 一本一道久久a久久精品蜜桃 | 国产美女永久免费 | 欧美国产大片 | 亲子乱aⅴ一区二区三区 | 韩国美女视频在线观看18 | 在线免费av网站 | 色一情一乱一区二区三区 | 亚洲专区av | 日本一区视频在线观看 | 国产精品一区二区三区四区视频 | 撸啊撸在线视频 | 美女流白浆视频 | 亚洲精品一区二区三区蜜桃久 | 黑人干亚洲女 | 国产精品国产精品国产专区不片 | 高清欧美性猛交 | 乱色视频 | 开心激情网站 | 日韩激情在线播放 | 国产网红在线 | 欧美精品aaa |