में स्वचालित अनुकूलन में शामिल हों निम्नलिखित प्रश्नों की निष्पादन गति नाटकीय रूप से अलग है। दूसरा एक पहले की तुलना में तीव्रता के आदेश को तेजी से खत्म करता है।एसक्यूएल इनरर एचएसक्यूएलडीबी
SELECT * FROM A INNER JOIN B ON A.X=B.Y WHERE B.Z=1
SELECT * FROM A INNER JOIN (SELECT * FROM B) ON A.X=B.Y WHERE B.Z=1
यह अच्छा होगा अगर कोई यह लिखता है कि यह क्यों है। डेटाबेस HSQLDB
JDBC
के साथ है।
अतिरिक्त जानकारी: HSQLDB
का संस्करण 2.3.2 है। और कॉलम एएक्स अनुक्रमित है लेकिन कॉलम बीवाई नहीं है।
क्या आप एक तीसरे संस्करण का परीक्षण कर सकते हैं: 'चुनें * एएनएक्स = बीवाई और बीजेड = 1' पर एक इंटर्नर बी बी से चुनें? –
@ जोएलस्लामिन यह पहले धीमी संस्करण के समान निष्पादन समय के आसपास है। – user3726374
यह इस तथ्य के कारण हो सकता है कि 'बीवाई 'अनुक्रमित नहीं है। क्या आप इस दूसरे संस्करण को आज़मा सकते हैं और मुझे बता सकते हैं कि कोई प्रदर्शन लाभ/हानि है: 'चुनें * एक इनर जॉइन से चुनें (चुनें * जहां से बीजेड = 1) एक्सएक्स = BY' –