2017-07-31 139 views
0

我想在兩個表上連接表b行爲null,然後插入另一個表中進行進一步分析。如何使用geom優化連接查詢

我使用以下連接:

SELECT a.* 
INTO tmp_missing_cad_polygon 
FROM table_a a 
LEFT JOIN table_b b 
    ON a.geom = b.geom 
WHERE b.geom IS NULL; 

該查詢似乎對小數據集很好地工作,但不是在大集。我已經嘗試了geom上的嵌套select語句,但似乎不適用於geom數據結構。

任何幫助將不勝感激。

乾杯。

回答

0

在這種情況下,對於空間連接,建議對大數據集使用EXCEPT子句。

SELECT a.cad_pid FROM left_table a 
EXCEPT 
SELECT b.cad_pid FROM right_table b; 

這隻會返回左表中與右表不匹配的行。更深入的分析可以在提供的鏈接中找到。

https://www.red-gate.com/simple-talk/sql/performance/the-except-and-intersect-operators-in-sql-server/ https://www.essentialsql.com/get-ready-to-learn-sqlserver-18-how-to-use-the-except-operator/