2009-07-31 12 views
13

की सूची का उपयोग करके चयन करने का सबसे अच्छा तरीका एक webservice के माध्यम से मेरे एप्लिकेशन को पहचानकर्ताओं की एक सूची प्राप्त होती है। इस सूची के साथ, मुझे प्रति फ़ील्ड, एक पहचानकर्ता को देखना होगा। यदि फ़ील्ड मौजूद नहीं है, तो मान शून्य होना चाहिए (इसे दिखाया जाना चाहिए)।MySQL आईडी के

मुझे आश्चर्य है कि सबसे अच्छा तरीका क्या होगा। सबसे पहले मैंने सोचा कि आईडी को धारण करने वाली अस्थायी तालिका बनाना और उसके बाद डेटा को धारण करने वाली तालिका में शामिल होना सबसे अच्छा था, लेकिन यदि मैं सही हूं तो यह प्रति पहचानकर्ता को कम से कम 1 क्वेरी अस्थायी तालिका में डालने के लिए लेता है। उस स्थिति में, ऐसा लगता है कि मैं अपने आवेदन में पहचानकर्ताओं की सूची के माध्यम से भी ठीक हो सकता हूं और डेटाबेस 1 से 1 क्वेरी कर सकता हूं। क्या यह सही है? आप किस दृष्टिकोण की सलाह दे सकते हैं?

अभिवादन,

कोएन

उत्तर

20

उपयोग SELECT WHERE IN() सिंटेक्स एक परिणाम के डेटा की जरूरत है, तो अपने कोड में इस पर पुनरावृति के साथ सेट प्राप्त करने के लिए। इस तरह आप केवल डीबी से पूछताछ करते हैं और केवल आपको आवश्यक जानकारी प्राप्त करते हैं।

+0

+1 इसे करने का सबसे अच्छा तरीका – alex

0

दिखा रहा है कि नल चाल है, आपको टेबल में शामिल होने की आवश्यकता है, इसलिए प्रति रिकॉर्ड दो इंडेक्स लुकअप हैं। प्रत्येक पहचानकर्ता के लिए केवल 1-से-1 क्वेरी करने के लिए केवल एक इंडेक्स लुकअप की आवश्यकता होगी।

प्रैक्टिस में, यह दो गुना धीमा नहीं होगा, क्योंकि दूसरा लुकअप निष्पादित होने तक पहचानकर्ता कुंजी कैश में होगा।

एक अन्य विकल्प इनपुट पहचानकर्ताओं का उपयोग करके अपना आउटपुट प्रस्तुत करना है, और पहले सुझाए गए "आईएन" का उपयोग करना है। शून्य रिकॉर्ड क्वेरी आउटपुट में नहीं होंगे, लेकिन यह ठीक होगा क्योंकि आप जानते थे कि क्या अनुरोध किया गया था।

+0

यह मानता है कि उन्हें प्राप्त किए गए आइटम तालिका में एकमात्र आइटम हैं, यदि वे सबसेट हैं तो वह वापस पूछने के लिए और अधिक वापस जा रहा है। – MyItchyChin

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