আমি আমার মাইএসকিউএল ডাটাবেসে কিছু জ্যামিতিক অবস্থান সঞ্চয় করতে চাই। এর জন্য আমি পিনটি ডেটাটাইপ ব্যবহার করি। প্রায় সর্বত্রই আমি পড়লাম যে ফাংশনটি GeomFromText
টেবিলে ডেটা toোকাতে ব্যবহার করা উচিত।
যাইহোক, আমি এটি POINT(X,Y)
কাজ করেও জানতে পেরেছি । GeomFromText
পরিবর্তে কেন ব্যবহার করা উচিত সে সম্পর্কে আমি কোনও বিবরণ পাইনি POINT
।
উদাহরণস্বরূপ আমার নীচের সহজ সম্পর্ক রয়েছে:
CREATE TABLE Site (
SiteID BIGINT UNSIGNED,
Position POINT
);
এবং আমি নিম্নলিখিত দুটি রূপ ব্যবহার করে মান সন্নিবেশ করতে পারি:
INSERT INTO Site (
1,
GeomFromText( 'POINT(48.19976 16.45572)' )
);
INSERT INTO Site (
2,
POINT(48.19976, 16.45572)
);
আমি যখন টেবিলটি SELECT * FROM Site
দেখি ( ) আমি অবস্থানটির জন্য একই বাইনারি ব্লব দেখতে পাই এবং যখন স্থানাঙ্কগুলি ( SELECT *, AsText(Position) FROM Site
) দেখি তখন আমিও একই মান দেখতে পাই।
তাহলে কেন জেমফ্র্যামটেক্সট ব্যবহার করা উচিত? এই দুটি রূপের মধ্যে কোনও (জ্ঞাত) পারফরম্যান্স পার্থক্য রয়েছে? এটি মাইএসকিউএল ছাড়া অন্যান্য ডাটাবেস সিস্টেমে কীভাবে সমাধান করা যায়?
INSERT INTO Site (Position) SELECT POINT(latitude, longitude) FROM tmp
চেয়ে সহজ...SELECT GeomFromText(CONCAT('POINT(',latitude,' ',longitude,')' )) ...