2010-02-13 13 views
31

औसत PHP वेब डेवलपर्स की तरह अधिकांश मैं MySQL को RDBMS के रूप में उपयोग करता हूं। MySQL (अन्य आरडीबीएमएस के रूप में भी) स्पेशल इंडेक्स फीचर्स प्रदान करता है, लेकिन मुझे यह बहुत अच्छा नहीं लगता है। मैंने इसके लिए गुमराह किया है लेकिन इसके बारे में मेरे बुरे ज्ञान को स्पष्ट करने के लिए स्पष्ट वास्तविक दुनिया के उदाहरण नहीं मिला।एक स्थानिक इंडेक्स क्या है और मुझे इसका उपयोग कब करना चाहिए?

क्या कोई मुझे स्पष्टीकरण इंडेक्स के बारे में कुछ बता सकता है और मुझे इसका उपयोग कब करना चाहिए?

+5

डेमियन, यह आपके सवाल का जवाब दिया? अगर आपको और मदद चाहिए तो मेरे उत्तर में एक टिप्पणी जोड़ने के लिए स्वतंत्र महसूस करें। या अगर यह आपके लिए हल हो गया है, तो कृपया मेरे उत्तर को "उत्तर" के रूप में जांचने के लिए बहुत दयालु रहें। टीआईए, रोलैंड। –

+1

आधिकारिक MySQL दस्तावेज़ स्पष्टीकरण और उदाहरण देता है: [स्थानिक इंडेक्स बनाना] (http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html) - [एक स्थानिक इंडेक्स का उपयोग करना] (http://dev.mysql.com/doc/refman/5.5/en/using-a-spatial-index.html) – Jocelyn

उत्तर

17

आप भौगोलिक वस्तुओं - आकारों को अनुक्रमणित करने के लिए एक स्थानिक अनुक्रमणिका का उपयोग कर सकते हैं। स्थानिक सूचकांक अंतरिक्ष में

+4

हालांकि बहुत विशिष्ट [उच्च प्रदर्शन स्थानिक डेटाबेस बनाना] (http://sqlbits.com/Sessions/ Event5/create_high_performance_spatial_databases) यह समझने के लिए एक शानदार वीडियो है कि कैसे स्थानिक इंडेक्स अन्य इंडेक्स से बहुत अलग हैं। –

+0

बस उत्सुक है, क्योंकि स्थानिक सूचकांक 2-डी हैं, क्या मैं उन्हें अन्य उपयोग मामलों पर नियमित रूप से पूर्णांक डेटा पर रेंज क्वेरीज़ का उपयोग कर सकता हूं? –

+0

@MangatRaiModi यदि यह केवल नियमित पूर्णांक डेटा है, तो आप सामान्य btree अनुक्रमणिका का उपयोग करने के बेहतर हो सकते हैं। वे रेंज पूछताछ का समर्थन करता है। –

6

स्थानिक सूचकांक इस अंतर के साथ एक सामान्य सूचकांक की तरह है कि स्थानिक वस्तुएं 1 डी डेटा बिंदु नहीं हैं बल्कि उच्च आयाम स्थान (जैसे 2 डी) में हैं और इस प्रकार सामान्य में ऑब्जेक्ट्स को खोजना संभव बनाता है। बीटी के रूप में इंडेक्स ऐसे डेटा को अनुक्रमणित करने के लिए उपयुक्त नहीं हैं। प्रसिद्ध स्थानिक इंडेक्स तकनीक आर-पेड़ (विकिपीडिया पर Google)

-2

स्पेसियल इंडेक्स का उपयोग सटीक मेलिंग वैल्यू लुक-अप खोजने के लिए सबसे अच्छा है, न कि रेंज स्कैन के लिए। यह मुख्य रूप से माईसाम टेबल में समर्थित है लेकिन MySQL 5.7.4 एलएबी रिलीज से, यह इनोडब द्वारा भी समर्थित है।

संदर्भ: - http://dev.mysql.com/doc/refman/5.5/en/creating-spatial-indexes.html http://mysqlserverteam.com/innodb-spatial-indexes-in-5-7-4-lab-release/

+1

सबसे पहले इसे एक स्थानिक सूचकांक कहा जाता है। दूसरी बात, इसके बारे में आपकी टिप्पणी रेंज स्कैन के लिए नहीं है, एक बीटी पर एक गैर स्थानिक सूचकांक पर लागू होती है, इसलिए यह वहां एक स्थानिक इंडेक्स के बारे में बात नहीं कर रहा है - "भंडारण इंजनों के लिए जो स्थानिक कॉलम के नॉनस्पेटियल इंडेक्सिंग का समर्थन करते हैं, इंजन बी-पेड़ इंडेक्स बनाता है स्थानिक मूल्यों पर एक बी-पेड़ सूचकांक सटीक-मूल्य लुकअप के लिए उपयोगी है, लेकिन रेंज स्कैन के लिए नहीं। " – jbu

संबंधित मुद्दे