Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MYSQL स्थानिक सूचकांक का उपयोग कर रहा है

आप जो देख रहे हैं, दुर्भाग्य से, MySQL में स्थानिक कार्यों को लागू करने के तरीके के साथ एक सामान्य समस्या है और स्थानिक कार्यों से जुड़े उपश्रेणियों के साथ एक संबंधित कमजोरी है।

कंटेन्स और इंटरसेक्ट फ़ंक्शन ठीक से काम करें, और इंडेक्स का उपयोग करने के लिए, आपको ज्यामिति में से एक स्थिर होना चाहिए। यह प्रलेखित प्रतीत नहीं होता है, हालांकि आप MySQL के साथ Intersects/Contains के साथ जो सभी उदाहरण देखेंगे, वे इस तरह से काम करते हैं।

इसलिए, आप ऐसा कुछ नहीं लिख सकते, जैसा कि आप Oracle Spatial या Postgis में लिख सकते हैं,

select a.*, b.* 
from sometable a, someothertable b 
where ST_Intersects(a.geom, b.geom) 
and a.someattribute=... and b.someattribute=...;

ऐसी क्वेरी में, यदि टेबल ए और बी दोनों में स्थानिक सूचकांक हैं, तो उनका उपयोग किया जाएगा, बशर्ते यह किसी अन्य विशेषता की तुलना में अधिक प्रतिबंधात्मक हो, जहां आप क्लॉज में डाल सकते हैं।

वही सेल्फ़ जॉइन के लिए लागू होता है, जहाँ आप सभी पॉलीगॉन को खोजना चाहते हैं जो किसी विशेषता के आधार पर तालिका में अन्य सभी पॉलीगॉन के साथ प्रतिच्छेद करते हैं, जैसे,

select a.* 
from sometable a, sometable b 
where ST_Intersects(a.geom, b.geom) ....

तो, MySQL स्थानिक में आपको एक ज्यामिति स्थिर रखने के लिए मजबूर किया जाता है।

एक तरफ के रूप में, लेफ्ट जॉइन सिंटैक्स स्थानिक (हालांकि यह समर्थित है) के साथ ज्यादा समझ में नहीं आता है, क्योंकि आप वास्तव में एक मिलान वाली विशेषता में शामिल नहीं हो रहे हैं, लेकिन 2-आयामी रोकथाम/चौराहे ऑपरेटर पर।

साथ ही, मुझे पूरा यकीन है कि यदि आप key देखते हैं, तो आपके आंतरिक जुड़ाव पर अनुक्रमणिका का उपयोग नहीं किया जा रहा है। और rows व्याख्या का आउटपुट।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TINYTEXT, TEXT, MEDIUMTEXT, और LONGTEXT अधिकतम संग्रहण आकार

  2. MySQL ऑटो-इन्क्रीमेंट आईडी (पुनः) को 1 से शुरू करें

  3. MySQL में एक स्ट्रिंग को आज तक कैसे परिवर्तित करें?

  4. PHP के साथ MySQL डेटाबेस से मूल्य प्राप्त करें

  5. हाइबरनेट में रेगेक्स क्वेरी