韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

Oracle XQuery查詢、構(gòu)建與轉(zhuǎn)換XML(3)

Oracle XQuery查詢、構(gòu)建與轉(zhuǎn)換XML(3)

更新時(shí)間:2022-10-18 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

查詢外部數(shù)據(jù)源

使用 XQuery,可以基于 XML 數(shù)據(jù)以及可以用 XML 表示的非 XML 數(shù)據(jù)生成 XML 文檔,無論其位置如何:無論是存儲在數(shù)據(jù)庫中、置于網(wǎng)站上、即時(shí)創(chuàng)建還是存儲在文件系統(tǒng)中。但要注意,Oracle XML DB 為針對數(shù)據(jù)庫中存儲的數(shù)據(jù)進(jìn)行的 XML 操作提供了非常高的性能和可伸縮性。因此,如果您能夠完全控制所處理的數(shù)據(jù),則最好將它移動到數(shù)據(jù)庫中。

正如您從前面的示例中了解到的,在 Oracle XQuery 實(shí)施中,doc 和 collection XQuery 函數(shù)用于訪問 Oracle XML DB 信息庫中存儲的 XML 文檔?梢酝ㄟ^ XMLTable 和 XMLQuery SQL 函數(shù)中的 PASSING 子句動態(tài)綁定外部數(shù)據(jù)源?紤]以下示例。假設(shè)您的公司要為那些致力于 XQ 項(xiàng)目的員工支付獎(jiǎng)金。因此,財(cái)務(wù)部發(fā)布了 empsbonus.xml 文件,其中包含有資格獲得獎(jiǎng)金的員工列表以及該列表中輸入的每個(gè)員工的獎(jiǎng)金數(shù)額。empsbonus.xml 文件可能如下所示:

100

1200





101

1000

在實(shí)際情況中,以上的 XML 文件可能置于網(wǎng)站上(因此可以通過互聯(lián)網(wǎng)獲得)、以文件形式存儲在本地文件系統(tǒng)中,或以文件資源形式存儲在 Oracle XML DB 信息庫中。就本示例而言,該文件位于網(wǎng)站上。為簡單起見,可以在目錄(Web 服務(wù)器在其中存儲可從 Web 看到的文檔)中創(chuàng)建一個(gè)員工文件夾,然后在該文件夾中插入 empsbonus.xml 文件,以便可以通過以下 URL 訪問 empsbonus.xml 文件:

http://localhost/employees/empsbonus.xml

接下來,假設(shè)您需要基于 empsbonus.xml 文檔中存儲的數(shù)據(jù)創(chuàng)建一個(gè)報(bào)表。在該報(bào)表中,您可能不但要包含列表中顯示的獎(jiǎng)金數(shù)額以及每個(gè)員工的員工 ID,還要包含他/她的全名。因此,可以首先使用以下查詢生成一個(gè)新的 XML 文檔(假設(shè)您以 HR/HR 的身份連接):

SELECT XMLQuery(

'for $k in 1

return (

{for $i in ora:view("employees")/ROW,

$j in $emps/EMPLOYEES/EMPLOYEE

where $i/EMPLOYEE_ID = $j/EMPNO

return (

{xs:string($i/EMPLOYEE_ID)}

{xs:string(fn:concat($i/FIRST_NAME, " ", $i/LAST_NAME))}

{xs:integer($j/BONUS)}

)}
)'

PASSING xmlparse (document httpuritype

('http://localhost/employees/empsbonus.xml').getCLOB()) as "emps"

RETURNING CONTENT).getStringVal() as RESULT FROM DUAL;

以上查詢是一個(gè)有關(guān)如何使用 XQuery 基于 XML 和非 XML 數(shù)據(jù)(以不同的方式從不同的數(shù)據(jù)源中檢索)生成 XML 文檔的示例。具體而言,使用 ora:view() 函數(shù)訪問 HR 演示模式中的默認(rèn) employees 關(guān)系表,并使用 PASSING 子句中的 httpuritype() 函數(shù)借助于 HTTP 訪問 empsbonus.xml 文檔。然后,在 FLWOR 表達(dá)式的 return 子句中構(gòu)建新的 XML 文檔。最后,將獲得以下 XML 文檔:





100

Steven King

1200





101

Neena Kochhar

1000



解決性能問題

正如您從前面的部分中了解到的,XQuery 是一種用于查詢 Oracle 數(shù)據(jù)庫存儲的 XML 內(nèi)容的高效方法 - 無論您是處理本地存儲的 XMLType 數(shù)據(jù)還是查詢基于關(guān)系數(shù)據(jù)構(gòu)建的 XML 視圖。但根據(jù)對數(shù)據(jù)使用的存儲類型的不同,XQuery 表達(dá)式的執(zhí)行性能可能迥然不同。尤其是,Oracle XML DB 可以優(yōu)化基于由 ora:view 函數(shù)創(chuàng)建的 SQL/XML 視圖而構(gòu)建的 XQuery 表達(dá)式。對于 XMLType 表或列中存儲的 XML 數(shù)據(jù),只能對使用結(jié)構(gòu)化(對象-關(guān)系)存儲技術(shù)存儲的基于 XML 模式的 XMLType 數(shù)據(jù)進(jìn)行 XQuery 優(yōu)化。

所選擇的存儲模型并非是影響 XQuery 表達(dá)式執(zhí)行性能的唯一因素。在某些情況下,XQuery 表達(dá)式本身的結(jié)構(gòu)也可能導(dǎo)致性能問題。要監(jiān)控 XQuery 表達(dá)式的性能,可以打印并檢查關(guān)聯(lián)的 EXPLAIN PLAN。在 SQL*Plus 中,只需設(shè)置 AUTOTRACE 系統(tǒng)變量,即可打印 SQL 優(yōu)化程序使用的執(zhí)行路徑。但要執(zhí)行該操作,請確保創(chuàng)建 PLUSTRACE 角色,然后將其授予連接到數(shù)據(jù)庫所使用的用戶。有關(guān)如何執(zhí)行此操作的信息,請參閱 Oracle 數(shù)據(jù)庫 10g 第 2 版 (10.2) 文檔中《SQL*Plus 用戶指南和參考》一書中的“調(diào)整 SQL*Plus”一章。以下示例演示了如何通過檢查 EXPLAIN PLAN 生成的執(zhí)行計(jì)劃來獲得好處。假設(shè)您已經(jīng)將 PLUSTRACE 角色授予默認(rèn)用戶 OE,以 OE/OE 的身份登錄并運(yùn)行以下查詢:

SET AUTOTRACE ON EXPLAIN


SELECT count(*)

FROM oe.purchaseorder, XMLTable(

'for $i in /PurchaseOrder/User

where $i = "CJOHNSON"

return $i'

PASSING OBJECT_VALUE) ptab;

這將生成以下輸出:

COUNT(*)

----------

9
Execution Plan

---------------------------------------------

Plan hash value: 4046110317
--------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

--------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 226 | 29 (0) | 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 226 | | |
| 2 | NESTED LOOPS | | 10782 | 2379K | 29 (0) | 00:00:01 |
|* 3 | TABLE ACCESS FULL | PURCHASEORDER | 1 | 226 | 5 (0) | 00:00:01 |
| 4 | COLLECTION ITERATOR P| XMLSEQUENCEFROMX| | | | |


Predicate Information (identified by operation id):

---------------------------------------------------
3 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<>

...

您可能對為以上查詢生成的執(zhí)行計(jì)劃并不滿意。尤其是,所處理的行數(shù)可能非常大。由于 SQL 調(diào)整的主要目標(biāo)是避免訪問對結(jié)果沒有任何影響的行,因此可能要繼續(xù)調(diào)整查詢以優(yōu)化性能。對查詢中包含的 XPath 表達(dá)式進(jìn)行重新建模后,可以再次重試它,如下所示:

SELECT count(*)

FROM oe.purchaseorder, XMLTable(

'for $i in /PurchaseOrder

where $i/User = "CJOHNSON"

return $i/User'

PASSING OBJECT_VALUE) ptab;
這次,輸出應(yīng)如下所示: 

COUNT(*)

----------

9


Execution Plan

---------------------------------------------------

Plan hash value: 3411896580
---------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

----------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 29 | 7 (0) | 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 29 | | |
| 2 | NESTED LOOPS | | 1 | 29 | 7 (0) | 00:00:01 |
| 3 | FAST DUAL | | 1 | | 2 (0) | 00:00:01 |
|* 4 | TABLE ACCESS FULL | PURCHASEORDER | 1 | 29 | 5 (0) | 00:00:01 |
Predicate Information (identified by operation id):

---------------------------------------------------
4 - filter("PURCHASEORDER"."SYS_NC00022$"='CJOHNSON' AND

SYS_CHECKACL("ACLOID","OWNERID",xmltype('<>

...

您可以看到,以上顯示的查詢生成相同的最終結(jié)果,但它們的執(zhí)行計(jì)劃并不相同。查看最后一個(gè)示例中的 XQuery 表達(dá)式,您可能會注意到它迭代頂層 PurchaseOrder 元素,其中的每個(gè) PurchaseOrder 元素都表示基于 PurchaseOrder XMLType 模式的表中的一行。這意味著實(shí)際上重寫 XQuery 表達(dá)式,以迭帶基礎(chǔ)對象表(用于存儲分解的 PurchaseOrder 文檔)中的行。與查詢要迭代不表示基礎(chǔ)表中的單個(gè)行的 XML 元素相比,該方法的性能更好一些。

但在某些情況下,很難發(fā)現(xiàn) XQuery 表達(dá)式的哪個(gè)構(gòu)造將使某些查詢的性能更好。這就是為什么最好在開發(fā)階段使用調(diào)整工具的原因。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
国产综合视频在线观看| 91九色蝌蚪在线| 日韩精品免费在线视频观看| 亚洲一区二区三区四区不卡| 99热99在线| 国产免费黄色录像| 一二区在线观看| 亚洲欧洲日韩综合一区二区| 丰满人妻中伦妇伦精品app| 午夜国产精品理论片久久影院| 久久66热偷产精品| 欧美精品日韩综合在线| 一区二区三区在线观看www| 国产在线观看免费av| 亚洲a在线视频| 噼里啪啦在线中文观看| 成人女人免费毛片| 欧美一二区在线观看| 亚洲福利一区| 亚洲激情中文字幕| 亚欧在线免费观看| 伦伦影院午夜日韩欧美限制| 精品美女国产在线| 免费成年人视频在线观看| 精品久久久久久久久久久下田| av网址在线| av电影免费看| 欧美精品在线第一页| 亚洲欧美日韩精品久久奇米色影视| 一区二区三区四区视频免费观看| 色啦啦av综合| 精品久久久影院| 免费成人美女女| 久久在线精品视频| 国产精品一区在线看| 亚洲国产精品一| 亚洲精品中文字幕乱码三区不卡| 国产激情一区二区三区桃花岛亚洲| 大胆人体色综合| 国产精品天天干| 欧美精品一区二区不卡| 欧美精品久久久久久久免费| 国产精品美女久久久浪潮软件| 自慰无码一区二区三区| 俺也去.com| 久久久久久久伊人| 91 com成人网| 免费看涩涩视频软件| 操你啦在线视频| 在线观看美女av| 国产剧情麻豆剧果冻传媒视频免费| 亚洲777理论| 日本一级免费视频| 欧美色婷婷天堂网站| 在线视频国产福利| 亚洲欧美国产制服动漫| av网站网址| 国外色69视频在线观看| 亚洲视频国产精品| 国产一区二区视频在线| 美国十次av导航亚洲入口| 99在线精品视频免费观看20| 91|九色|视频| 亚洲乱码日产精品bd在线观看| 久久久久久久久久国产精品| 欧美日韩一区精品| 精品电影一区二区| 青草在线视频在线观看| ass精品国模裸体欣赏pics| 在线观看的日韩av| 久草综合在线视频| 懂色av中文字幕| www.黄色小说.com| 亚洲小说图片区| 国产精品一级伦理| 亚洲香蕉伊在人在线观| 最新日本中文字幕| 可以免费观看的黄色网址| 午夜羞羞视频| 亚洲第一搞黄网站| 在线观看亚洲一区二区| 精品视频9999| 欧美激情精品久久久久久变态| 久久av资源站| 韩国一区二区三区美女美女秀| 日韩中文字幕在线视频观看| 奇米综合一区二区三区精品视频| 国产伦精品一区二区三区视频黑人| 欧美日韩一区二区免费视频| 国产精品对白交换视频| 国产综合视频在线观看| 插我舔内射18免费视频| 欧美办公室脚交xxxx| 日韩精品视频免费在线观看| 成人性生交大片免费看中文网站| 成年人免费视频观看| 久久亚洲风情| 中文字幕第66页| 久久夜色精品国产亚洲aⅴ| 免费看日本毛片| 米奇精品关键词| 黄色亚洲网站| 婷婷一区二区三区| 干b视频在线观看| 97se亚洲国产综合自在线不卡| 精品一区二区精品| 国产精品臀控福利在线观看| 国产一区在线视频| 久草这里只有精品视频| 国精一区二区三区| 国产精品传媒精东影业在线| 激情综合色综合久久综合| 国产一区二区三区不卡免费观看| 人妻精油按摩bd高清中文字幕| 国产高清一区视频| 91碰在线视频| 在线精品91av| 国产精品自拍网| 久久青草视频| 国内精品久久久久久久影视简单| 一区二区不卡| 四虎地址8848jia| 最新四虎影在线在永久观看www| 91av在线免费视频| 特级西西444www大精品视频| 欧美性另类69xxxx| 欧美一区二区三区播放老司机| 久久久久久久久一| 香港欧美日韩三级黄色一级电影网站| 国产一级淫片a视频免费观看| 久久亚洲国产精品成人av秋霞| 日韩av免费在线播放| 91精品国产高清一区二区三区| 欧美一区二区久久久| 国产精品美女呻吟| 欧美福利在线视频| 成人网欧美在线视频| 性欧美1819sex性高清大胸| 久久久久久久爱| 日韩欧美三级视频| 牲欧美videos精品| 日韩一区二区三区免费看| 九九视频直播综合网| 热久久精品国产| 欧美一区二区福利| 亚洲视频777| 国产女女做受ⅹxx高潮| 2018中文字幕第一页| 永久免费精品视频| 亚洲一区二区三区四区电影| 亚洲高清毛片一区二区| av在线网页| 亚洲一区二区三区四区精品| av资源在线观看免费高清| 国产情侣自拍小视频| 亚洲欧美制服综合另类| 欧美人成免费网站| 五月天婷婷影视| 拔插拔插海外华人免费| lutube成人福利在线观看| 嫩草影院在线观看网站成人| 国产成人在线网址| 成人午夜在线视频一区| jizzjizz亚洲中国少妇| 激情综合五月网| 国产精品欧美一级免费| 日韩丝袜美女视频| 九九九九九伊人| 色天使久久综合网天天| 伊人情人综合网| 999在线观看| 99久久婷婷国产综合精品电影√| 高清色视频在线观看| 日本一二区不卡| 久久精品国产一区二区三区不卡| 国产av国片精品| 国产在线观看不卡| 五月激情综合网| 国产亚洲欧美日韩在线观看一区二区| 欧美精品一区二区三区四区五区| 国产乱淫av麻豆国产免费| 日本成人午夜影院| 国产欧美日韩精品一区二区免费| 欧美日韩亚洲一区二区三区| 中文字幕精品国产| 欧美国产在线观看| 五十路亲子中出在线观看| 日韩一级免费看| 国产成人亚洲精品狼色在线| 亚洲第一视频在线播放| 高清精品一区二区三区一区| 青青青在线免费观看| 热re66久久精品国产99热| 中文字幕色站| 精品亚洲一区二区三区在线观看| 亚洲男同性恋视频| 欧美日韩精品一区二区天天拍小说| 国产精品网址在线| 国产精品一区二区av影院萌芽| 日本黄色三级视频| 人妻熟人中文字幕一区二区| 国产精品国产一区二区三区四区| 国产精品视频在线看| 亚洲精品中文字| a天堂中文在线88| 国产三级电影在线播放| 一呦二呦三呦精品国产| 人妻少妇精品视频一区二区三区| 欧美日韩精品免费观看视欧美高清免费大片| 亚洲爱爱综合网| 久久国产乱子伦精品| 久久99国内精品| 国产精品久久久久av| 亚洲国产欧美在线观看| 自拍偷拍21p| 日韩国产精品亚洲а∨天堂免| 精品国产无码在线| 警花av一区二区三区| 久久福利精品| 欧美另类在线播放| 肉色超薄丝袜脚交69xx图片| 国产精品伦理久久久久久| 国产一区激情在线| 狠狠狠狠狠狠狠| 黄色a级片在线观看| 成人免费视频国产免费观看| 久久精品国产96久久久香蕉| 亚洲日本成人女熟在线观看| 99久久久久久中文字幕一区| 国产精品51麻豆cm传媒| 亚洲国产成人二区| 99视频在线精品国自产拍免费观看| 手机看片久久久| 日本一道在线观看| 日韩情爱电影在线观看| 久久久久久久久久久久久9999| 性欧美高清强烈性视频| 新狼窝色av性久久久久久| 国产亚洲视频中文字幕视频| 天天天天天天操| 亚洲日本视频| 亚洲国产天堂av| 国产美女被遭强高潮免费网站| 香蕉视频官网在线观看日本一区二区| 亚洲精品一区在线观看香蕉| 成人国产在线观看| 欧美在线aaa| 三级国产在线观看| 中文字幕字幕中文在线中不卡视频| 中文字幕天堂在线| 欧美一区二区三区图| 国产精品熟女视频| 中文字幕一区二区三区四区久久| 懂色一区二区三区免费观看| 国产精品免费精品自在线观看| 欧美性老头oldtight| 国产乱码精品一区二区三区不卡| 91在线看国产| 国产成人在线亚洲欧美| 国产一二三四区在线| 日本中文字幕视频一区| 欧美夜福利tv在线| 国产69精品久久久久9999apgf| 欧美日韩一区二区三区电影| 久久九九视频| 在线观看亚洲精品| 天天影视天天精品| 成人黄色a**站在线观看| 成人在线精品| 亚洲精品国产一区二区三区| 熟妇高潮一区二区三区| 国产老肥熟一区二区三区| 欧美xxxx综合视频| 天天做天天爱夜夜爽| 午夜激情电影在线播放| 亚洲精品激情视频| 一级毛片免费播放| 九色蝌蚪在线视频| caoporn成人| 日韩手机在线观看视频| 成人一级福利| 国产欧美综合一区二区三区| 视频一区视频二区视频三区高| 一级黄色av片| 成人黄色网页| 亚洲欧美日本在线观看| 国内精品久久久久久中文字幕| a视频在线播放| 日韩激情欧美| 久久久久久久久久久久久久| 国产午夜无码视频在线观看| 性欧美丰满熟妇xxxx性仙踪林| 在线视频一区二区三区四区| 国色天香一二三期区别大象| 亚洲人成电影网站色mp4| 巨大黑人极品videos精品| 免费观看h电影在线观看| 国产91精品免费| 小泽玛利亚视频在线观看| 97超碰人人在线| 日本蜜桃在线观看| 自拍偷拍国产| 亚洲精品成人av久久| www久久久久久| 日本人妖一区二区| 色综久久综合桃花网| 亚洲男人7777| 精品久久人人做人人爰| 国产精品免费在线播放| 超碰在线最新| 国产精品啊啊啊| www.av精品| 日本sm残虐另类| 伊人开心综合网| 欧美在线视频一区二区| 欧美尿孔扩张虐视频| 一区二区三区高清视频在线观看| 播九公社成人综合网站| 男女午夜网站| 无码人妻精品一区二区| 激情五月婷婷久久| 精品毛片乱码1区2区3区| 牛夜精品久久久久久久99黑人| 中文字幕日韩一区二区三区不卡| 欧美三级日本三级| 国产福利图片| 波多野结衣一本一道| 一区二区视频在线看|