मैंने आज स्पैटलाइट के साथ खेलना शुरू कर दिया है और पहले से ही एक समस्या पर ठोकर खाई है।
TableOne में संग्रहीत प्रत्येक बिंदु स्थान के लिए मैं tableTwo से एक, निकटतम (रैखिक दूरी) बिंदु का चयन करना चाहूंगा।
अब तक मैं एक अनाड़ी समाधान के साथ आया था जो दृश्य का उपयोग करता है:
CREATE VIEW testview AS
SELECT
A.id ,
B.myValue,
Distance(A.Geometry, B.Geometry) AS distance
FROM tableOne AS A, tableTwo AS B
WHERE distance < 10000
ORDER BY A.Id, distance;
और तब:
SELECT * FROM testview
WHERE distance = (SELECT MIN(distance) FROM testview AS t WHERE t.id = testview.id)
काम करने लगता है।
दो सवाल:
क्या VIEW बनाए बिना ऐसी क्वेरी करने का कोई तरीका है?
क्या बेहतर प्रदर्शन के लिए इस क्वेरी को अनुकूलित करने का कोई अन्य तरीका है? एक वास्तविक विश्व परिदृश्य में टेबलऑन में सैकड़ों-युगल हजारों रिकॉर्ड होंगे, और टेबलटू - 1.3 मिलियन।