क्या यह विशेष रूप से खराब है, बहुत सारे SQL संभावित क्वेरी के साथ बहुत से (संभवतः अनावश्यक) खंडों के साथ?एसक्यूएल क्वेरी (विशेष रूप से MySQL) की लंबाई तक प्रैक्टिकल सीमा
उदाहरण के लिए, यहाँ एक प्रश्न मैं अपने वेब एप्लिकेशन से जेनरेट किया है सब कुछ के साथ बंद कर दिया है, जो सबसे बड़ा संभव क्वेरी इस कार्यक्रम उत्पन्न करने के लिए के लिए होना चाहिए:
SELECT *
FROM 4e_magic_items
INNER JOIN 4e_magic_item_levels
ON 4e_magic_items.id = 4e_magic_item_levels.itemid
INNER JOIN 4e_monster_sources
ON 4e_magic_items.source = 4e_monster_sources.id
WHERE (itemlevel BETWEEN 1 AND 30)
AND source!=16 AND source!=2 AND source!=5
AND source!=13 AND source!=15 AND source!=3
AND source!=4 AND source!=12 AND source!=7
AND source!=14 AND source!=11 AND source!=10
AND source!=8 AND source!=1 AND source!=6
AND source!=9 AND type!='Arms' AND type!='Feet'
AND type!='Hands' AND type!='Head'
AND type!='Neck' AND type!='Orb'
AND type!='Potion' AND type!='Ring'
AND type!='Rod' AND type!='Staff'
AND type!='Symbol' AND type!='Waist'
AND type!='Wand' AND type!='Wondrous Item'
AND type!='Alchemical Item' AND type!='Elixir'
AND type!='Reagent' AND type!='Whetstone'
AND type!='Other Consumable' AND type!='Companion'
AND type!='Mount' AND (type!='Armor' OR (false))
AND (type!='Weapon' OR (false))
ORDER BY type ASC, itemlevel ASC, name ASC
ऐसा लगता है काफी अच्छी तरह से काम करने के लिए, लेकिन यह विशेष रूप से उच्च यातायात नहीं है (दिन में कुछ सौ हिट), और मुझे आश्चर्य है कि क्या यह अनावश्यकताओं को हटाने के लिए प्रश्नों को आजमाने और अनुकूलित करने के प्रयास के लायक होगा।
1. सवाल का जवाब देने के लिए धन्यवाद है यह केवल वास्तविक सीमा एक सर्वर पर यह समायोज्य है, मुझे लगता है कि क्वेरी का आकार अब मेरे लिए कोई समस्या नहीं होनी चाहिए। 2. SQL को स्वरूपित करने के सुझावों के लिए सभी को धन्यवाद। मैं इसके लिए नया हूं और वहां बहुत सारी चालें हैं जिन्हें मैं नहीं जानता (उदाहरण के लिए "टाइप न करें (...)") 3. बस एक परिशिष्ट के रूप में, यह एक PHP/MySQL ऐप – Asmor
यहां उपयोगी है ऑनलाइन एसक्यूएल फॉर्मेटर: http://www.sqlinform.com/ – micahwittman
जब आप और वेबसाइट का उपयोग करने का प्रयास करते हैं, तो क्या यह धीमा लगता है? यदि दिन में केवल कुछ सौ हिट हैं, तो मुझे लगता है कि आप इसके बारे में चिंता नहीं कर सकते। क्या आप यातायात में वृद्धि की उम्मीद करते हैं? कितनो के द्वारा? यदि आप समय के लिए कड़ी मेहनत नहीं कर रहे हैं, तो आप इसे भविष्य में सबूत के लिए कर सकते हैं। लेकिन फिर, क्या समय पर क्वेरी चलाने के लिए समय-समय पर अनावश्यकता को खोजने और निकालने का समय लगता है? –