data_set is one of the tables in my project.
But ping is disable anyway:
<property name="Pool.PingEnabled" value="false"/>
Is this info relevant to the problem I have?
Cheers,
Nicolas.
On Fri, 2006-03-17 at 10:14 -0700, Larry Meadors wrote:
> <property name="Pool.PingQuery" value="select * from data_set"/>
>
> What is "data_set", and how long does "select * from data_set" take to run?
>
> Larry
>
>
> On 3/17/06, Nicolas Fajersztejn <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I'm new to iBatis. I have been using it for a couple of months and really
> > like it.
> >
> > However, now I am having problems with a very simple query. This is the
> > mapping I have:
> >
> > <select id="getExposuresForObsId"
> > resultClass="xat.proprietarydates.objects.Exposure">
> > SELECT
> > obsid obsID,
> > inst inst,
> > epic_filter epicFilter
> > FROM xsa..exposures
> > WHERE
> > obsid = #value#
> > </select>
> >
> >
> > obsid is a numeric value. I am passing an Integer as parameter and this
> > query takes about 1400 ms to execute!!!
> > The same query run with explicit value (obsid = 100 for example) takes only
> > 48 ms.
> >
> > Does it really take so much time to convert an Integer and build up the
> > query or am I missing something?
> >
> > This is my config file in case it helps:
> >
> > <transactionManager type="JDBC">
> > <dataSource type="SIMPLE">
> > <property name="JDBC.Driver" value="${driver}"/>
> > <property name="JDBC.ConnectionURL" value="${url}"/>
> > <property name="JDBC.Username" value="${username}"/>
> > <property name="JDBC.Password" value="${password}"/>
> > <property name="JDBC.DefaultAutocommit" value="true"/>
> > <!-- The following are optional -->
> > <property name="Pool.MaximumActiveconnections" value="10"/>
> > <property name="Pool.MaximumIdleConnections" value="5"/>
> > <property name="Pool.MaximumCheckoutTime" value="120000"/>
> > <property name="Pool.TimeToWait" value="10000"/>
> > <property name="Pool.PingQuery" value="select * from data_set"/>
> > <property name="Pool.PingEnabled" value="false"/>
> > <property name="Pool.PingConnectionOlderThan" value="0"/>
> > <property name="Pool.PingConnectionNotUsedFor" value="0"/>
> > </dataSource>
> > </transactionManager>
> >
> > <settings
> > cacheModelsEnabled="true"
> > enhancementEnabled="true"
> > lazyLoadingEnabled="true"
> > maxRequests="32"
> > maxSessions="10"
> > maxTransactions="5"
> > useStatementNamespaces="false"
> > />
> >
> >
> > And the Java code:
> >
> > public static List getExposuresForObsId(Integer obsID) {
> > SqlMapClient sqlMap = XATSqlConfig.getSqlMapInstance();
> > List exposureList = null;
> > try {
> > long t1 = System.currentTimeMillis();
> > exposureList = sqlMap.queryForList("getExposuresForObsId",
> > obsID);
> > long t2 = System.currentTimeMillis();
> > System.out.println("time queryForList is " + (t2-t1));
> >
> > }
> > catch (SQLException e) {
> > logger.log(Level.WARNING, "SQLException getting exposures list:
> > " + e);
> > }
> > return exposureList;
> > }
> >
> >
> >
> > I would gladly appreciate your help.
> >
> > Thanks.
> >
> >
> >
> >
> >
>