sql - How to use foreign keys and a spatial index inside a MySQL table? -


हमारी परियोजना आईएनएनडीबी तालिका के अंदर वृक्ष संरचना में विश्व डाटा बेस को रखती है MySQL db। पृथ्वी जड़ है, फिर देश, फिर देश के क्षेत्र और स्थान पत्तियां हैं।

बच्चों के लिए तेजी से पहुंच प्रदान करने के लिए एक विदेशी कुंजी (उदाहरण के एक क्षेत्र में शहरों) का उपयोग किया जाता है।

अब हम दिए गए निर्देशांकों के लिए डेटा-बेस में एक तेज़ भू-खोज को लागू करना चाहते हैं। स्पेशल इंडेक्स का उपयोग करने के लिए एक स्पष्ट समाधान है, जो म्यूजैम तालिकाओं की एक विशेषता है। लेकिन MyISAM तालिका विदेशी कुंजी का समर्थन नहीं करती। और INNODB तालिकाओं को स्पेशल इंडेक्स का समर्थन नहीं करता है।

इसलिए यदि हम MyISAM तालिका का उपयोग करते हैं तो हमें विदेशी कुंजी का परित्याग करना होगा और इससे बच्चों को खोज का रास्ता बहुत लंबा हो जाएगा।

हम कैसे तेजी से जोड़ सकते हैं बच्चों को पेड़ में खोज और एक टेबल में एक स्पेशल इंडैक्स भी है?

हम कैसे जोड़ सकते हैं पेड़ में तेजी से बच्चों की खोज और तालिका में एक स्पेशल इंडेक्स भी है?

अपनी तालिका का id और parentId पर अनुक्रमणिका बनाएं आईडी सबसे संभवतः एक प्राथमिक है

  mytable (parent) पर  

नोट INDEX ix_mytable_parentid बनाएँ कुंजी , पर कोई स्पष्ट अनुक्रमणिका की आवश्यकता नहीं है (एक को निहित बनाया जाएगा)।

BTW , यदि आप प्राकृतिक भू-आधारित पदानुक्रम, खोज के लिए माता-पिता के रिश्तों का उपयोग करने का क्या मतलब है?

आप विशिष्ट i Ndexes:

  SELECT * mytable से एम 1 जॉइन मायटेबल एम 2 ऑन एमबीआर कंटेंट्स (एम 2। एरा, एम 1.एरा) और एम 2 पीयरआईडीआईडी ​​= एम 1.आईड WHERE एम 1.name = 'लंदन'  

जो खोज के लिए स्थानिक सूचकांक और ठीक फ़िल्टरिंग के लिए संबंध का उपयोग करेगा।


Comments

Popular posts from this blog

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net mvc - Dynamically Generated Ajax.BeginForm -

Debug on symbian -