On wto, mar 04, 2003 at 05:26:01 +0100, Christian Haul wrote:
> On 04.Mar.2003 -- 05:11 PM, Leszek Gawron wrote:
> > On wto, mar 04, 2003 at 05:05:37 +0100, Torsten Curdt wrote:
> > > >while trying to test the esql:get-object I have run just this:
> > > ><esql:execute-query>
> > > > <esql:query>
> > > > SELECT * from kontrah</esql:query>
> > > > <esql:results>
> > > > <esql:row-results><a></a></esql:row-results>
> > > > </esql:results>
> > > ></esql:execute-query>
> > > >
> > > >The execution time does not differ much from first case even though I do
> > > >not do any esql-getXXX.
> > >
> > > 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? I'm not skilled in JDBC. The only
> > difference I can tell from Squirell SQL client is that it does not use prepared
> > statements.
>
> If you have a <esql:parameter .../> in your query, esql uses a
> prepared statement. Otherwise it won't.
Strange: even though my query does not contain esql:parameter tags what I see
in my source is:
_esql_query = _esql_connection.createQuery(
String.valueOf(""),
String.valueOf(
""
+ " SELECT"
+ " * from kontrah"
)
);
try {
//!!!!!!! _esql_query.prepareStatement();
_esql_query.execute();
if (getLogger().isDebugEnabled()) {
getLogger().debug("esql query: " + _esql_query.getQueryString());
}
ouzo
--
__
| / \ | Leszek Gawron // \\
\_\\ //_/ [EMAIL PROTECTED] _\\()//_
.'/()\'. Phone: +48(600)341118 / // \\ \
\\ // recursive: adj; see recursive | \__/ |