huge difference between the running time of the same SQL query in java and mysql -
मेरे पास फ़ंक्शन के रूप में एक फ़ंक्शन है:
सार्वजनिक स्थिर ArrayList & lt; Article & gt; GetNewsList (डेटाबेस डीबी, तिथि प्रारंभ, दिनांक समाप्ति, int nextNth, int सीमा, स्ट्रिंग तालिकानाम, स्ट्रिंग एंटिटीकी, स्ट्रिंग विषयक सीक्व्यू) SQLException फेंकता {लंबे समय से एक = System.currentTimeMillis (); ArrayList & LT; अनुच्छेद & gt; YouTube = नए अर्रे सूची & lt; अनुच्छेद & gt; (); System.out.println ("प्रारंभ समय है:" + a + ""); कनेक्शन conn = db.getConnection (); "+ टेबलनाम +" से "एन +" नाम से "एन + "En.dataitemid = n.id जहां en.dataitemtype = 1 और दिनांक के बीच में जोड़ा गया? और?" + एंटिटी + + "+ विषय + +" सीमा ","; "); Stmt.setDate (1, प्रारंभ); Stmt.setDate (2, अंत); Stmt.setLong (3, अगले nth); Stmt.setLong (4, सीमा); परिणामसेट rset = stmt.executeQuery (); जबकि (rset.next ()) {आलेख nw = नया अनुच्छेद (); nw.setTitle (rset.getString (1)); nw.setLink (rset.getString (2)); nw.setDescription (rset.getString (3)); nw.setContent (rset.getString (4)); nw.setiURL (rset.getString (5)); nw.setDate (rset.getDate (6)); youTube.add (NW); } लंबे समय बी = System.currentTimeMillis (); System.out.println (बी + "इसमें लेता कुल समय है:" + (बी-ए)); यूट्यूब लौटें; } यह फ़ंक्शन बहुत अजीब काम करता है जैसा कि आप देखते हैं कि मेरे पास फ़ंक्शन के समय को शुरू करने और समाप्त करने के लिए 2 चर हैं और जब मैं फ़ंक्शन चलाता हूं, तो यह 36 सेकंड (बीए का नतीजा) लेता है
लेकिन अगर मैं एक ही क्वेरी को समान पैरामीटर में चलाता हूँ Mysql यह केवल 0.01 9 सेकंड लेता है जो कि बड़ा अंतर दिखाता है, हालांकि आप देख सकते हैं कि मेरे पास जावा कोड में कुछ विशेष नहीं है जो लंबे समय तक लेता है। मैं जानना बहुत उत्सुक हूं कि इस विशाल अंतर का क्या कारण है कोई भी मदद कर सकता है?
इसमें नेटवर्क विलंबता / त्रुटियों को यहां शामिल किया जा सकता है आपको ए और बी समय आगे बढ़ने का प्रयास करें और निष्पादित करने के बाद और उस मूल्य पर नजर डालें। आपके उदाहरण में आप यह उल्लेख नहीं करते कि आप कितनी पंक्तियों को पुनः प्राप्त कर रहे हैं लेकिन यह आपके समय को प्रभावित कर सकता है।
Comments
Post a Comment