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 // \\
\_\\ //_/ [EMAIL PROTECTED] _\\()//_
.'/()\'. Phone: +48(600)341118 / // \\ \
\\ // recursive: adj; see recursive | \__/ |