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  | \__/ |

Reply via email to