আমি আজ স্পাটিএলাইটের সাথে খেলতে শুরু করেছি এবং ইতিমধ্যে কোনও সমস্যায় হোঁচট খেয়েছি।
সারণীতে সঞ্চিত প্রতিটি পয়েন্টের অবস্থানের জন্য আমি টেবিলটো থেকে একটি, নিকটতম (লিনিয়ার দূরত্ব) পয়েন্ট নির্বাচন করতে চাই।
এখনও অবধি আমি একটি আনাড়ি সমাধান নিয়ে এসেছি যা ভিউ ব্যবহার করে:
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)
কাজটি মনে হচ্ছে
দুটি প্রশ্ন:
ভিউউ তৈরি না করে এই জাতীয় কোয়েরি করার কোনও উপায় আছে কি?
আরও ভাল পারফরম্যান্সের জন্য এই কোয়েরিটি অপ্টিমাইজ করার অন্য কোনও উপায় আছে কি? একটি বাস্তব বিশ্বের দৃশ্যে টেবিলের কয়েক'শ হাজার রেকর্ড, এবং টেবিলটো - 1.3 মিলিয়ন থাকবে।