自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

國產(chǎn)數(shù)據(jù)庫SQL評測更新(達(dá)夢篇)

原創(chuàng)
數(shù)據(jù)庫 其他數(shù)據(jù)庫
本篇就是針對達(dá)夢數(shù)據(jù)庫的一輪復(fù)測,重點是放在此前表述為不支持的能力上。下文針對重點操作打了星號,并在下文給出了示例。這里,特別感謝達(dá)夢數(shù)據(jù)庫對此次測試的支持。

近日,針對集中式國產(chǎn)數(shù)據(jù)庫的SQL能力,個人做了簡單測試并發(fā)了總結(jié)稿。這一結(jié)果也得到了眾多國內(nèi)數(shù)據(jù)庫廠商的響應(yīng),一方面國產(chǎn)數(shù)據(jù)庫還在快速迭代更新之中,有些能力會在不久的將來具備;另一方面受個人對國產(chǎn)數(shù)據(jù)庫理解及數(shù)據(jù)庫反饋內(nèi)容的局限,有些能力其實已經(jīng)具備但未表現(xiàn)出來。本篇就是針對達(dá)夢數(shù)據(jù)庫的一輪復(fù)測,重點是放在此前表述為不支持的能力上。下文針對重點操作打了星號,并在下文給出了示例。這里,特別感謝達(dá)夢數(shù)據(jù)庫對此次測試的支持。

1. 測試內(nèi)容:訪問路徑

針對索引的單值查詢,達(dá)夢數(shù)據(jù)庫實際走的也是索引唯一掃描,不同的是操作符都是SSEK,可根據(jù)掃描范圍scan_range屬性來判斷是否范圍還是單值定位,如下圖一。對于帶有DISTINCT的查詢,則會使用DSSEK操作符,掃描到第一個KEY,會跳過重復(fù)值就直接找到下一個KEY,如下圖二。

針對索引快速全掃描,達(dá)夢數(shù)據(jù)庫與Oracle的實現(xiàn)不同,它可通過多入口(并行的方式),是對索引的并行訪問,進而提高索引訪問速度。至于是否按照多塊讀取的方式,則是具體根據(jù)掃描時的情況來判斷,達(dá)夢只能提供參數(shù)multi page get,即這個是每次獲取多個塊來配置實現(xiàn)。

針對索引跳躍掃描,達(dá)夢數(shù)據(jù)庫并不是一個操作符完成,而是通過 NLIJ+CONSTC+SSEK 組合完成。下圖中是針對兩個列創(chuàng)建的復(fù)合索引,然后根據(jù)索引第二列進行查詢的情況。關(guān)鍵字CONSTC明確指出其采用了復(fù)合索引的跳躍掃描。

2. 測試內(nèi)容:連接方式

在內(nèi)連接方面,達(dá)夢數(shù)據(jù)庫支持了標(biāo)準(zhǔn)的NL、SM、HJ。下圖一為嵌套循環(huán)示例,下圖二為合并排序示例。

在半連接方面,達(dá)夢數(shù)據(jù)庫支持了多種實現(xiàn)方式,包括HJ、SM等。

在反連接上,達(dá)夢數(shù)據(jù)庫會轉(zhuǎn)換為半連接方式處理,也會使用到HJ、SM等;但對于Null Aware的連接,還存在不足,尚不支持單獨算子,如下圖三。

3. 測試內(nèi)容:子查詢優(yōu)化

3.png3.png

針對子查詢推入,先來回顧下其含義。子查詢推入,是一項對未能合并或者反嵌套的子查詢優(yōu)化的補充優(yōu)化技術(shù)。通常情況下,未能合并或者反嵌套的子查詢的子計劃會被放置在整個查詢計劃的最后步驟執(zhí)行,而子查詢推進使得子查詢能夠提前被評估,使之可以出現(xiàn)在整體執(zhí)行計劃的較早步驟,從而獲得更優(yōu)的執(zhí)行計劃。在如下圖示例中,主查詢過濾時,是將子查詢結(jié)果集被推入到主查詢,主查詢得到提前過濾。

針對簡單謂詞推入,先回顧下其含義。簡單地將主查詢中作用于子查詢的過濾謂詞推入子查詢中。它是屬于啟發(fā)式查詢轉(zhuǎn)換技術(shù),只要滿足條件就會進行轉(zhuǎn)換。在下圖示例中,主查詢的過濾謂詞被推入到子查詢之中。

4. 測試內(nèi)容:排序去重與分組聚合

對于排序合并中,達(dá)夢數(shù)據(jù)庫針對去重使用DISTINCT操作符完成,內(nèi)部實現(xiàn)也是基于HASH UNIQUE,如下圖一。針對排序去重場景,則使用了SORT3實現(xiàn)排序,并在過程中實現(xiàn)去重。

針對排序聚合場景,沒有索引和有索引的情況分別對應(yīng)使用AAGR2和FAGR2的操作符,支持這兩種情況。

針對一般排序的STOP KEY的情況,則使用SORT+TOP_FLAG的方式來實現(xiàn)。

在排序關(guān)聯(lián)中,達(dá)夢數(shù)據(jù)庫利用嵌套循環(huán)+索引有序性,來保證結(jié)果集有序。

在分組+排序場景,如果沒有索引,則使用HAGR+SORT的方式來實現(xiàn)SORT GROUP BY,如下圖一;如果有索引則直接使用SAGR。

51.png51.png

責(zé)任編輯:武曉燕 來源: 韓鋒頻道
相關(guān)推薦

2010-07-28 13:47:32

達(dá)夢數(shù)據(jù)庫

2025-02-18 07:30:35

2014-04-16 14:36:03

2025-04-23 07:31:14

2023-10-26 22:05:21

2025-01-09 07:30:49

SQL能力評測

2020-11-25 20:09:54

數(shù)據(jù)庫

2020-12-11 16:37:46

數(shù)據(jù)庫/新基建/全棧

2025-03-27 07:30:28

2024-12-23 07:37:53

2025-04-08 07:30:40

數(shù)據(jù)庫對象索引

2024-12-19 07:30:34

2024-12-10 07:30:46

2019-05-30 09:27:31

數(shù)據(jù)庫達(dá)夢DM8

2014-08-04 10:46:46

達(dá)夢數(shù)據(jù)庫

2014-03-07 14:11:34

達(dá)夢數(shù)據(jù)庫EAL4安全認(rèn)證

2024-12-05 07:31:16

2012-05-18 14:19:08

達(dá)夢DM7.0海量數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號