निम्नलिखित अभिव्यक्ति ले लो?क्या MySQL तर्क मूल्यांकन जॉइन क्लॉज में आलसी/शॉर्ट सर्किटिंग है? <code>FALSE AND (expression)</code></p> <p>MySQL अभिव्यक्ति का मूल्यांकन करेंगे या बस के रूप में जल्द ही यह <code>FALSE</code> देखता है के रूप में आगे बढ़ने:
कुछ पृष्ठभूमि context-- मैं ऐसा करके एक प्रश्न तेजी लाने के लिए चाहता था:
JOIN... ON (indexed_column1=indexed_column2 AND non_indexed_column_a=non_indexed_column_b)
कर रहा हूँ यह हो रहा है, तो हमेशा non_indexed_column_a=non_indexed_column_b
का मूल्यांकन करने पर
पृष्ठभूमि के लिए तब उसके साथ कोई समय बचा नहीं है।
मैं क्वेरी अनुकूलक पूरी तरह से इस तुच्छ मामले को खत्म करेगा लगता होगा। हालांकि, उन मामलों में जिन्हें स्थैतिक रूप से समाप्त नहीं किया जा सकता है, ऐसे इंजन, जैसे SQL सर्वर (दी गई, MySQL नहीं) ** मूल्यांकन आदेश ** की गारंटी नहीं देते हैं; क्योंकि यह वास्तव में उन्हें सूचकांक और इस तरह के साथ अधिक कुशल होने में मदद करता है। यह जानना दिलचस्प होगा कि MySQL- विशिष्ट कार्यान्वयन कैसे काम करता है, +1। –
मैंने कुछ और संदर्भ जोड़ा है – babonk
http://stackoverflow.com/questions/789231/is-the-sql-where-clause-short-circuit-evalu (नहीं * विशिष्ट * MySQL के लिए, लेकिन अच्छा कभी नहीं- कम), http://stackoverflow.com/questions/4449105/mysql-and-condition –