ऐप्लिकेशन इंजन ब्लॉग से:ऐपेंगीन कुशलतापूर्वक सूची में क्वेरी को कार्यान्वित कैसे करता है?
उन्नत क्वेरी योजना - हम अनुक्रमित विस्फोट और कई प्रश्नों के लिए कस्टम सूचकांक आवश्यकताओं को कम करने के लिए की जरूरत निकाल रहे हैं। एसडीके कई मामलों में बेहतर सूचकांक का सुझाव देगा और एक आगामी लेख वर्णन करेगा कि आगे के अनुकूलन क्या संभव हैं।
एक परीक्षण के रूप में, मैं appengine एक listProperty
class Entity(db.Model):
tags = db.StringListProperty()
मैं 500,000 इकाइयां है कि में एक इकाई है, उनमें से आधे टैग नहीं है = [ '1'], और दूसरे आधे है टैग = [ '2']
मेरी क्वेरी
SELECT FROM Entity WHERE tags='1' and tags='2'
यह वास्तव में जल्दी से कोई परिणाम है। इसे प्राप्त करने के लिए इसका उपयोग किस योजना का उपयोग कर रहा है? यह सूची प्राप्त करने के लिए अनुक्रमित सूची कैसे है? पुराने दिनों में, एक विस्फोटक सूचकांक की आवश्यकता होगी।
आईआईआरसी यह तकनीकी वार्ता में से एक में शामिल था - इसे कभी भी एक विस्फोटक सूचकांक की आवश्यकता नहीं थी, केवल एक स्ट्रिंगलिस्टप्रॉपर्टी – bdonlan
कोई भी उन्नत क्वेरी प्लानिंग परिवर्तन इस क्वेरी को प्रभावित नहीं करेगा। आपने संस्थाओं को कैसे सम्मिलित किया? यदि टैग = 2 वाले सभी के पास टैग = 1 (या इसके विपरीत) वाले लोगों की तुलना में अधिक आईडी हैं, तो यह क्वेरी संतुष्ट करने के लिए तुच्छ है। –
मुझे लगता है कि क्वेरी का मतलब था: एंटीटी से चुनें जहां टैग = '1' और टैग = '2' तिथि तक ऑर्डर करें – Jaap