मैं एक Grails वेब एप्लिकेशन का समर्थन कर रहा हूं जो AmCharts का उपयोग कर क्लाइंट के लिए अलग-अलग दृश्य दिखाता है। टैब में से एक पर तीन चार्ट होते हैं जो प्रत्येक शीर्ष दस पर वापस आते हैं, इसलिए विभिन्न उपायों के आधार पर डेटाबेस से केवल दस पंक्तियां होती हैं। इसे समाप्त करने में 4-5 या कभी-कभी और अधिक समय लगता है। क्वेरी 10 सेकंड के भीतर डीबी पर चलती है।sql.rows() धीमी गति से चल रहा है
निम्न सेवा विधि परिणाम देने के कहा जाता है:
List fetchTopPages(params, Map querySettings, String orderClause) {
if(!((params['country'] && params['country'].size() > 0) || (params['brand'] && params['brand'].size() > 0) || (params['url'] && params['url'].size() > 0))) {
throw new RuntimeException('Filters country or brand or url not selected.')
}
Sql sql = new Sql(dataSource)
sql.withStatement { stmt -> stmt.fetchSize = 100 }
Map filterParams = acquisitionService.getDateFilters(params, querySettings)
ParamUtils.addWhereArgs(params, filterParams)
String query = "This is where the query is"
ParamUtils.saveQueryInRequest(ParamUtils.prettyPrintQuery(query, filterParams))
log.debug("engagement pageviews-by-source query: " + ParamUtils.prettyPrintQuery(query, filterParams))
List rows = sql.rows(query, filterParams)
rows
}
कुछ जांच यह स्पष्ट था कि List rows = sql.rows(query, filterParams)
पंक्ति एक है कि इस लोड समय तक ले जाता है है के बाद।
क्या किसी ने इस मुद्दे को पहले से कम कर दिया है? Sql.rows() इतनी देर क्यों ले रहा है जब यह केवल 10 पंक्तियों के परिणाम लौट रहा है, और क्वेरी डीबी पक्ष पर सुपर फास्ट रन है?
अतिरिक्त जानकारी:
डीबी: FSL1D
रनिंग डीबी पक्ष पर आदेश के बाद: java -jar ojdbc5.jar - getversion
रिटर्न: "Oracle 11.2.0.3.0 JDBC 3.0 Thu_Jul_11_15 पर JDK5 साथ संकलित: 41: 55_PDT_2013 डिफ़ॉल्ट कनेक्शन गुण संसाधन बुध दिसंबर 16 08:18:32 ईएसटी 2015 "
ग्रूवी संस्करण: 2.3.7 Grails संस्करण: 2.4.41 JDK: 1.7.0
+०१२३५१६४१०६१
अनुमति देने के लिए और अधिक ठोस जवाब कृपया अपने डीबी, JDBC ड्राइवर और ग्रूवी + JDK संस्करण –
डीबी पोस्ट: FSL1D डीबी तरफ रनिंग निम्न आदेश: 'जावा जार ojdbc5.jar - getversion' रिटर्न: ओरेकल 11.2.0.3 0 जेडीबीसी 3।0 Thu_Jul_11_15 पर JDK5 साथ संकलित: 41: 55_PDT_2013 #default कनेक्शन गुण संसाधन #Wed 16 दिसंबर 08:18:32 ईएसटी 2015 ग्रूवी संस्करण: 2.3.7 Grails संस्करण: 2.4.41 JDK: 1.7.0 – krizsa
धन्यवाद, मैं आपके परिदृश्य को स्थापित करने की कोशिश करूंगा। एक समान प्रश्न है [यहां] (http://stackoverflow.com/questions/9923981/why-sql-rows-groovy-method-is-so-slow) लेकिन एक निश्चित उत्तर के साथ नहीं। –