मैं एक डेटाबेस डिजाइन है कि यहाँ सरलीकृत संस्करण में इस दिखता हैPHP/MySQL: भारी SQL क्वेरी या कई छोटे प्रश्न?</p> <p>टेबल <code>building</code>:</p> <ul> <li>आईडी</li> <li>attribute1</li> <li>attribute2</li> </ul> <p>डाटा में वहाँ की तरह है:
- (1, 1, 1)
- (2, 1, 2)
- (3, 5, 4)
और टेबल, attribute1_values
और attribute2_values
, के रूप में संरचित:
- आईडी
- मूल्य
कौन सा की तरह जानकारी होती है:
- (1, "विकल्प 1 का शाब्दिक वर्णन")
- (2, "विकल्प 2 का शाब्दिक वर्णन")
- ...
- (6, "विकल्प 6 का शाब्दिक वर्णन")
मुझे यकीन है कि यह सबसे अच्छा सेटअप है या नहीं, लेकिन यह मेरे प्रोजेक्ट मैनेजर की प्रति आवश्यकताओं के अनुसार किया जाता है। इसमें निश्चित रूप से कुछ सच्चाई है क्योंकि आप आसानी से टेक्स्ट को संशोधित कर सकते हैं बिना आईडी के गड़बड़ किए।
हालांकि अब मैं एक ऐसे पृष्ठ पर आया हूं जहां मुझे विशेषताओं को सूचीबद्ध करने की आवश्यकता है, तो मैं वहां कैसे जा सकता हूं? मुझे दो प्रमुख विकल्प दिखाई देते हैं:
1) एक बड़ी क्वेरी बनाएं जो building
से सभी मान एकत्र करती है और साथ ही attribute{x}_values
तालिका से सही टेक्स्ट प्रस्तुतिकरण चुनती है।
2) एक छोटी सी क्वेरी बनाएं जो building
तालिका से सभी मान एकत्र करती है। फिर उसके बाद एक समय में प्रत्येक विशेषता का पाठपरक प्रतिनिधित्व मिलता है।
चुनने का सबसे अच्छा विकल्प क्या है? विकल्प 1 के रूप में विकल्प 1 भी तेज है? यदि हां, तो क्या रखरखाव से संबंधित अतिरिक्त परेशानी के लायक है?
एक एकल डाटाबेस क्वेरी आम तौर पर कई प्रश्न तुलना में बहुत अधिक कुशल है, और कम कोड के साथ-साथ –
@MarkBaker होना चाहिए 20 गुण हालांकि अप करने के लिए हो सकता है ... एक अलग राय तो है करने के लिए किसी भी कारण? – skiwi
अधिक विशेषताओं, 20 व्यक्तिगत प्रश्नों के बजाय एक प्रश्न का उपयोग करने का अधिक कारण - एक क्वेरी निष्पादित करने के लिए समय लागत परिणाम परिणामों के माध्यम से लूप के समय की तुलना में बहुत अधिक है, इसलिए 20 प्रश्न जो प्रत्येक 1 परिणाम लौटाते हैं लगभग अनिवार्य रूप से 1 क्वेरी से बहुत धीमी है जो 20 परिणाम –