मैं जावा में ओआरएम फ्रेमवर्क के रूप में iBatis का उपयोग कर रहा हूं। मैं एक का चयन करें बयानiBatis के लिए fetchSize कैसे सेट करें चुनें स्टेटमेंट
<select id="getList" resultMap="correctMap">
SELECT *
FROM SOME_TABLE
</select>
है और मैं queryForList विधि का उपयोग कर रहा हूँ:
List<MappedObject> list = getSqlMapClientTemplate().queryForList("getList");
लेकिन यह डेटा की एक बड़ी मात्रा में प्राप्त करता है और इस क्वेरी के प्रदर्शन बहुत धीमी है।
इस मुद्दे के बारे में मेरी धारणा है कि iBatis के पास डिफ़ॉल्ट fetch आकार है (जैसे जेडीबीएस में 10 है) इसलिए यही इतना धीमा है। तो मैं बड़ा fetch आकार (उदाहरण के लिए 1000) सेट करना चाहता हूँ। मैं ऐसा कैसे कर सकता हूं?
या क्या मैं गलत तरीके से देख रहा हूं?
नोट: मुझे सभी डेटा की आवश्यकता है ताकि अधिकतम परिणाम queryForList
विधि में मेरे लिए उचित समाधान न हो।
List queryForList(String id,
Object parameterObject,
int skip,
int max)
क्या प्रत्येक क्वेरी कॉन्फ़िगरेशन में fetch आकार को वैश्विक कॉन्फ़िगरेशन में सेट करना संभव है? – nkukhar
कोई रास्ता नहीं है कि मुझे पता है। आप प्लगइन इंटरसेप्टर (MyBatis 3 उपयोगकर्ता मैनुअल पेज 17) को कार्यान्वित कर सकते हैं जो इस संपत्ति को इसके माध्यम से गुजरने वाले सभी चुनिंदा प्रश्नों पर सेट करने में सक्षम हो सकता है। यह आपके संस्करण के लिए मौजूद नहीं हो सकता है। –
क्या मैं गतिशील रूप से fetchSize मान सेट कर सकता हूं? रिकॉर्ड के लिए –