cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leszek Gawron <o...@vip.net.pl>
Subject Re: big ESQL performance problem - this one's weird
Date Tue, 04 Mar 2003 17:50:26 GMT
On wto, mar 04, 2003 at 05:39:01 +0100, Torsten Curdt wrote:
> >>Not weird at all!
> >>You are still looping through the ResultSet (row-results)
> >
> >Yes but some people in this discussion blamed the amount of SAX events to
> >handle for bad performance. So now it is clear that it's the rowset 
> >traversal
> >that consumes so much CPU, but still why? 
> 
> Well, because the traversal means that the JDBC driver transfers all the 
> data of the ResultSet over the wire to the application. This happens no 
> matter if you use the esql:get-xxx tags or not. (Well, it's all up to 
> the driver's implementation. But...)
> 
> I bet that's your bottleneck.
> 
> > I'm not skilled in JDBC. The only
> >difference I can tell from Squirell SQL client is that it does not use 
> >prepared
> >statements.
> 
> Well, to be really sure you better create a JDBC testcase.
<xsp:logic>
try {
	Connection conn = DriverManager.getConnection("jdbc:pervasive://localhost:1583/fppcsouzo");

	Statement stmt = conn.createStatement();
	stmt.execute( "select * from kontrah" );
	ResultSet rs = stmt.getResultSet(); 
	while ( rs.next() ) {
		<ok/> 
	}
} catch ( SQLException e ) {
	<error><xsp:expr>e.toString()</xsp:expr>!</error>
}
</xsp:logic>

result is :

....


Instead of 9 minutes (of course that one contained sax events also but it's irrevelant)

....


Thread-10/CocoonServlet: 'romes/data-old/contractors-offline-bug' Processed by
Apache Cocoon 2.1-dev in 7.17 seconds.

!!!

The question now is: why doesn't Pervasive like standard JdbcEsqlQuery and how
to write PervasiveJdbcQuery that works fast? Could anybody help ?

	ouzo 
-- 
            __
         | /  \ |        Leszek Gawron            //  \\
        \_\\  //_/      ouzo@vip.net.pl          _\\()//_
         .'/()\'.     Phone: +48(600)341118     / //  \\ \
          \\  //  recursive: adj; see recursive  | \__/ |


Mime
View raw message