मेरे पास एक ऑनलाइन php/mysql आधारित बाइबिल खोज ऐप है। वर्तमान में इसके केवल 5 पुस्तक संस्करण हैं।

अब मुझे 130+ बाइबल संस्करण जोड़ने के लिए कहा जा रहा है। मैं सोच रहा हूं कि क्या इससे प्रदर्शन पर असर पड़ेगा।

मैं जिन विकल्पों पर विचार कर रहा हूं वे इस प्रकार हैं।

विकल्प 1: अलग-अलग बुकनाम को हार्ड कोड करें और पुस्तक को प्रदर्शित करने के लिए निर्धारित करने के लिए PHP स्विच केस का उपयोग करें। यह मेरा वर्तमान सेटअप है और यह वर्तमान में मेरे ऐप पर जोड़ी गई 5 भाषाओं के लिए अच्छा काम कर रहा है। मैंने इसे इस तरह से किया क्योंकि मुझे प्राप्त होने वाले डेटाबेस में केवल बुक नंबर कॉलम होता है और इसका कोई बुकनाम नहीं होता है।

यदि चयनित भाषा अफ़्रीकी है (अन्य सभी भाषाओं के लिए समान प्रक्रिया), तो नीचे दिया गया कोड पुस्तक संख्या की जांच करेगा और नाम को उचित रूप से लागू करेगा (66 बाइबिल पुस्तकें)

case "101": $book ="101"; $bookword = ("GENESIS" . ' ' . strval($chapter_id) . ':' . strval($verse_id)); break;
case "102": $book ="102"; $bookword = ("EXODUS" . ' ' . strval($chapter_id) . ':' . strval($verse_id)); break;
case "103": $book ="103"; $bookword = ("LIVITIKUS" . ' ' . strval($chapter_id) . ':' . strval($verse_id)); break;
...
case "166": $book ="166"; $bookword = ("OPENBARING" . ' ' . strval($chapter_id) . ':' . strval($verse_id)); break;

यह हर बार चलाया जाएगा जब उपयोगकर्ता पुल डाउन मेनू के माध्यम से भाषा चयन बदलता है

विकल्प 2: प्रत्येक तालिका में एक कॉलम bookname जोड़ें (प्रत्येक तालिका एक बाइबिल संस्करण है) जिसका अर्थ प्रत्येक पुस्तक के लिए अतिरिक्त 31 हजार प्रविष्टियाँ होंगी। इस तरह, बुकनाम पहले से ही क्वेरी परिणाम में शामिल किया जाएगा। विकल्प 1 में, क्वेरी के बाद केवल बुक नंबर उपलब्ध है। मुझे बुकनाम जोड़ने के लिए PHP स्विच केस का उपयोग करना होगा।

क्या परफॉर्मेंस के मामले में इन दोनों में खास अंतर होगा।

-1
Wayne 30 मार्च 2020, 15:02

1 उत्तर

सबसे बढ़िया उत्तर

नहीं, प्रदर्शन में कोई महत्वपूर्ण अंतर नहीं होगा। इस तरह की चीज़ों के लिए डेटाबेस बनाए जाते हैं, और इसके लिए कोड को मैन्युअल रूप से बनाए रखना नरक (और त्रुटि-प्रवण) होगा।

2
Daan Wilmer 30 मार्च 2020, 13:40