मुझे इसी तरह की समस्या थी, एक बहुत ही सरल अनुरोध के साथ (चयन करें। से। जहां =।) जावा में jdbc कनेक्शन का उपयोग करते समय एक पंक्ति को वापस करने में 10 सेकंड तक का समय लगता है, जबकि sqlshell में केवल 0.01s लेते हैं। समस्या वही थी चाहे मैं आधिकारिक MS SQL ड्राइवर या JTDS ड्राइवर का उपयोग कर रहा था।
समाधान इस संपत्ति को jdbc url में सेटअप करना था:sendStringParametersAsUnicode=false
पूर्ण उदाहरण यदि आप MS SQL आधिकारिक ड्राइवर का उपयोग कर रहे हैं:jdbc:sqlserver://yourserver;instanceName=yourInstance;databaseName=yourDBName;sendStringParametersAsUnicode=false;
यदि समस्या के बारे में विभिन्न jdbc ड्राइवरों और अधिक विस्तृत जानकारी का उपयोग कर रहे हैं तो निर्देश:http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html
मेरे मामले में, मेरे द्वारा खोजी जा रही तालिका में मेरे पास 30M+ रिकॉर्ड थे। संपत्ति को लागू करने के बाद अनुरोध को पूरा करने की अवधि 10 सेकंड से अधिक, लगभग 0.01 सेकंड तक चली गई।
आशा है कि यह किसी की मदद करेगा!