mysql - Handling large records in a Java EE application -
दो कॉलम: id
के साथ एक तालिका फोननस
है, और संख्या
। तालिका में आधा मिलियन प्रविष्टियां
के बारे में हैं डेटाबेस MySQL
है।
आवश्यकता है कि एक जावा जावा ईई अनुप्रयोग विकसित करने के लिए, उस डेटाबेस से जुड़ा है, जो उपयोगकर्ता को सभी संख्या
मानों को डाउनलोड करने की अनुमति देता है
यदि हम एक विशाल स्ट्रिंग सरणी
में सभी मान प्राप्त करते हैं और फिर उन्हें कॉम्पेनेट में जोड़ते हैं (अल्पविराम से सभी मानों के बीच) एक स्ट्रिंग
में और उसके बाद उपयोगकर्ता को इसे भेज दें, क्या यह उचित समाधान की आवाज करता है?
यह एप्लिकेशन सार्वजनिक नहीं है और इसका इस्तेमाल सीमित नहीं। लोगों की।
आपकी सबसे अच्छी शर्त यह है कि नहीं जावा में किसी भी तरह से मेमोरी, लेकिन डेटा प्राप्त होने पर केवल तत्काल प्रतिक्रिया में प्राप्त डेटा लिखें। आपको MySQL JDBC ड्रायवर को कॉन्फ़िगर करने की आवश्यकता है, जिसके अनुसार परिणामस्वरूप पंक्ति-प्रति-पंक्ति की सेवा , अन्यथा यह स्मृति में पूरी चीज को कैश करेगा।
मान लें कि आप Servlets से परिचित हैं, यहां एक किकियाल उदाहरण है जो कि सभी खाते में है:
सुरक्षित शून्य (HttpServletRequest अनुरोध, HttpServletResponse प्रतिक्रिया) ServletException फेंकता है, IOException {response.setContentType ("पाठ / सादे"); Response.setHeader ("सामग्री-विस्थापन", "अनुलग्नक; फ़ाइल नाम = numbers.txt"); // बल डाउनलोड पॉपअप कनेक्शन कनेक्शन = नल; विवरण वक्तव्य = नल; परिणामस्वरूप परिणामसेट = नल; लेखक लेखक = response.getWriter (); Try {connection = database.getConnection (); बयान = connection.createStatement (ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); statement.setFetchSize (Integer.MIN_VALUE); ResultSet = statement.executeQuery ("फोन नंबर से चयन संख्या"); जबकि (resultSet.next ()) {author.write (resultSet.getString ("number")); यदि (! ResultSet.isLast ()) {writer.write (","); }}} पकड़ (एसक्लेक्सेप्शन ई) {नया सर्विस एक्सेप्शन ("प्रश्न विफल हुआ!", ई); } अंत में {यदि (resultSet! = Null) कोशिश {resultSet.close; } पकड़ (SQLException logOrIgnore) {} अगर (बयान! = नल) कोशिश {statement.close; } पकड़ (SQLException logOrIgnore) {} अगर (कनेक्शन! = नल) कोशिश {connection.close; } पकड़ (SQLException logOrIgnore) {}}}
Comments
Post a Comment