Oracle Spatial分區應用研究之二:按縣分區與按省分區對比測試報告

來源:互聯網
上載者:User

標籤:round   位置   oracle   排除   優勢   12c   測試   分區   通過   

  1. 1、實驗目的

在上一輪的實驗中,oracle 11g r2版本下,在87縣市實驗資料的基礎上,比較了分表與分區的效率,得出了分區+全域索引效率較高的結論(見上一篇部落格)。不過我們尚未比較過不同的分區粒度有什麼效率差異。這一輪的實驗,著重於以下幾個目的:

  1. 使實驗情境更接近真實使用情境——使用oracle 12c,用更大的資料量進行實驗。
  2. 對比分析按縣分區與按省分區的查詢效率。
  3. 繼續比較本地空間索引與全域空間索引在不同演算法下的查詢效率。
  1. 2、實驗資料

實驗資料為全國2531個區縣,要素總數為46982394。根據不同的資料群組織+索引形式,形成了3個不同的實驗主體:

  • 按縣分區+本地空間索引
  • 按縣分區+全域空間索引
  • 按省分區+本地空間索引
  1. 3、實驗方法

在1:500、1:2000、1:10000、1:25000、1:50000、1:100000比例尺下,隨機從全國範圍內選擇3個樣本範圍,作為空白間查詢時的查詢範圍。將6*3個樣本範圍分別與3個實驗主體進行空間查詢運算,記錄每次查詢的耗時。

空間查詢所用的演算法仍然同於上一篇部落格《Oracle Spatial分區應用研究之一:分表與分區效能對比》中介紹的、適用於分區的3種演算法,即part_query、part_query2、part_query3。同時,本次實驗中,還將通過並行架構對3種演算法進行衍生,得到另外3種演算法,標記為part_query_p、part_query2_p、part_query3_p。

因此,對每一個實驗主體來說,在每一種比例尺樣本下均需要用6種演算法來進行查詢運算。另外,因為演算法執行有先後順序,後執行的演算法由於緩衝的原因,會比先執行的演算法有優勢。為了盡量避免這種幹擾,會將演算法以不同的執行順序進行兩組實驗。

  1. 4、實驗結果
    1. 4.1 第一組實驗結果

第一組實驗,其演算法執行順序為:

Part_query→Part_query2→Part_query3→Part_query_p→Part_query2_p→Part_query3_p

執行結果如:

說明:表中藍色地區為按縣分區+本地空間索引在不同比例尺、不同演算法下的查詢效率;同理,紅色地區代表按縣分區+全域空間索引,綠色地區代表按省分區+本地空間索引。黃色斑塊表示該行的最小值。

    根據黃色斑塊坐落的位置,可知:

  1. 在所有比例尺下,按省分區+本地空間索引效率最高,所有耗時最小的查詢均發生在該地區。
  2. Part_query_p演算法的查詢效率最高,18個實驗樣本,耗時最小命中17次。
  1. 4.2 第二組實驗結果

第二組實驗,其演算法執行順序為:

Part_query_p→Part_query2_p→Part_query3_p→Part_query→Part_query2→Part_query3

執行結果如:

    根據黃色斑塊坐落的位置,可知:

  1. 在所有比例尺下,按省分區+本地空間索引效率最高,所有耗時最小的查詢均發生在該地區。
  2. Part_query演算法的查詢效率最高,18個實驗樣本,耗時最小命中18次。
  1. 4.3 補充說明

兩種實驗,分別得出Part_query_p與Part_query演算法效率最高的結論。這看似矛盾,實際上正是上文提到的,當演算法執行有先後順序時,會受到緩衝的原因。那麼對於Part_query_p與Part_query,誰的效率更高呢?

在兩組實驗中,Part_query_p與Part_query分別是最先執行的演算法。分別從兩組實驗結果中取出Part_query_p與Part_query的實驗資料,就可幾乎完全排除緩衝的影響。

兩種演算法,各命中9次。說明效率相當。但很明顯的是,part_query在大比例尺下(大於1:25000)命中率較高;part_query_p在小比例尺下命中率較高。這與我們的認知一致,即在大任務作業時,並行才會體現優勢。

  1. 5、實驗結論
    1. Oracle 12c環境下,在要素量為四千萬層級時,按省分區+本地空間索引效率較高。
    2. 採用按省分區+本地空間資料組織方式時,Part_query演算法較為高效。

 

(未完待續)

Oracle Spatial分區應用研究之二:按縣分區與按省分區對比測試報告

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.