Oracle spatial空間查詢的選擇度分析

來源:互聯網
上載者:User

標籤:com   nali   使用   不同的   空間   oracl   image   ext   ati   

在上一篇中,我用一個案例示範了對於數值或字串類型的欄位,選擇度的計算方法。並證明了當欄位值的選擇度不同時,將會影響CBO選擇最終的執行計畫。對於可排序的欄位類型,選擇度計算模型已經有很多人寫部落格介紹了,但空間查詢的選擇度怎麼計算卻少有人研究?Oracle會根據不同的檢索範圍,產生不同的選擇度嗎?

 接下來,我們來研究一下這個問題。

建立表,並使用SDO_GEOMETRY資料類型儲存向量資料。

 查看錶中記錄數:

 

建立空間索引:

CREATE INDEX "TDDCSDE"."A3010_IX1" ON "TDDCSDE"."DLTB20150705" ("SHAPE") INDEXTYPE IS "MDSYS"."SPATIAL_INDEX" 

    

用一個經緯度跨度均為1的矩形作為檢索條件

explain plan for select * from DLTB20150705 where MDSYS.SDO_ANYINTERACT(shape, SDO_GEOMETRY(2003,4610,null,sdo_elem_info_array(1,1003,3),sdo_ordinate_array(116,32,117,33)))=‘TRUE‘;

此時執行計畫的cardinality=14300,而真實返回的記錄數是多少呢?

顯然,不是執行計畫預計的14300。 

 

現在我們把查詢範圍變大,設定緯度跨度均為2的矩形作為檢索條件

explain plan for select * from DLTB20150705 where MDSYS.SDO_ANYINTERACT(shape, SDO_GEOMETRY(2003,4610,null,sdo_elem_info_array(1,1003,3),sdo_ordinate_array(116,32,118,34)))=‘TRUE‘;

現在我們的查詢範圍變大了,但是cardinality仍然為14300。而此時返回的真實記錄數是多少呢?

確實比經緯度跨度為1的矩形返回的記錄多,但即使如此,執行計畫的cardinality與之前一致。 

 

到現在為止,我們看到的是結果:不同空間範圍進行空間查詢,其cardinality值不變化。那現在不禁要問,這個值是怎麼計算得到的呢?那就得分析10053事件。 

 

分析tddc_ora_8438.trc檔案,發現cardinality的計算方法如下:

從該PLSQL BLOCK中可以發現,空間查詢範圍作為輸入資訊代入到程式碼片段中去,最終得到的選擇率為1/100。單從計算方法上看,似乎查詢範圍會影響到最終的selectivity計算結果,便其實並非如此。我們把範圍再次從1度的跨度變為2度的跨度,然後得到10053的trc:

 

分析tddc_ora_8525.trc檔案

 

範圍變大了,但選擇度仍然為1/100。

 

我們再次回到前面的例子中,

而DLTB20150705表的記錄數,根據之前的查詢,為:

而14300 = round(1430023 * 0.01)

 

結論:

1、SDO_ANYINTERACT操作符的選擇度恒定為1/100。其它操作符的選擇度有待驗證。

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.