मैं अपने MySQL डेटाबेस में कुछ ज्यामितीय पदों को संग्रहीत करना चाहता हूं। इसके लिए मैं POINT डेटाटाइप का उपयोग करता हूं। लगभग हर जगह मैंने पढ़ा कि फ़ंक्शन GeomFromTextका उपयोग तालिका में डेटा डालने के लिए किया जाना चाहिए।
हालांकि, मुझे पता चला कि 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देखता हूं (तो ) मैं भी समान मान देखता हूं।
तो GeomFromText का उपयोग क्यों किया जाना चाहिए? क्या इन दोनों वेरिएंट के बीच कोई (ज्ञात) प्रदर्शन अंतर है? यह MySQL के अलावा अन्य डेटाबेस सिस्टम में कैसे हल किया जाता है?
INSERT INTO Site (Position) SELECT POINT(latitude, longitude) FROM tmpसे ज्यादा सरल है...SELECT GeomFromText(CONCAT('POINT(',latitude,' ',longitude,')' )) ...