Well, let DBA optimize query, but from the iBatis side maybe it makes sense to increase fetchSize. See e.g.
http://markmail.org/message/3vy7p455yr5qkzbk#query:ibatis%20fetchsize+page:1+mid:tgs7lyqlyetn2jfv+state:results On Wed, Apr 29, 2009 at 2:01 AM, Chris O'Connell < oconn...@gorillachicago.com> wrote: > Thanks for the response. I finally got the DBA involved and it looks like > the query was executing very slowly on the server. I don't understand > everything that goes on in the communication between the driver and the > database, but it looks like I was seeing those first results coming back > because the database was sending the data over as it got it. Since the > query takes 11 seconds to execute, it took 11 seconds for the last row to > get sent over. > Chris > > > On Tue, Apr 28, 2009 at 4:55 PM, Nathan Maves <nathan.ma...@gmail.com>wrote: > >> Are the queries being run against the same database? >> Are the connection pools set up the same on both servers? >> >> Is your test(slower) server located somewhere else geographically? >> >> Maybe just provide us with a bit more data. >> >> >> On Mon, Apr 27, 2009 at 1:26 PM, Chris O'Connell < >> oconn...@gorillachicago.com> wrote: >> >>> I know that if I were to get a DBA involved, I could get some further >>> details, but I'm trying to get as much information as I can before I start >>> to get the bureaucracy involved... >>> Anyway, I am able to log my sql and the results with no problems. The >>> issue I have is that stuff is just running so slowly on my test server. >>> When I test my code on my local development server (which is talking to a >>> remote database), my 'queryForList' method takes a total of about 2.5 >>> seconds. When I push the code out to my test server (more powerful >>> hardware, etc.), the method takes 10 or 11 seconds. So, I'm trying to >>> figure out if the extra time is occurring on the database server or on the >>> application server. >>> >>> So, I turned up all the logging and I looked at what it is spitting out >>> at me. Of course, takes a bit longer with logging turned on, but not hugely >>> so. I looked at the times of the different statements, and the 'About to >>> execute SQL' log statement shows up at second 0. The next line of the log >>> file is each row of the result set. This is logged in the same 'second' as >>> the line of the 'About to execute'. The next 2000 rows in the log are each >>> of the lines of the result set and it takes 9 or 10 seconds for this to >>> occur. >>> >>> My question is, is this an indication of the database slowly returning >>> the data, or does iBatis really get all of the data back to the application >>> server by the time that first result set record is logged and it really is >>> taking iBatis 10 seconds to go through data on my review server that takes 2 >>> seconds to go through on my dev server. >>> >>> This is a 'hierarchical' query (if that makes sense). The data is in the >>> form of product information and product attribute information. I am using >>> the iBatis 'groupBy' clause in the resultMap to tell iBatis which columns >>> constitute the objects lower down on the hierarchy. Does it makes sense >>> that iBatis would take this long to process the data? Should I look at >>> writing a RowHandler to process this data? >>> >>> Thanks in advance for any comments/help, >>> Chris >>> >> >> > > > -- > -- > Chris O'Connell > Application Developer > Gorilla > 312.243.8777 x19 > >