Hi,

I'm planning to finally update to .Net 2.0 this summer and so I
decided to update Ibatis on all our project. We previously had the
Datamapper 1.3.0 and I deceided to upgrade to 1.6.1.

The upgrade of the code went really good (SqlMapper -> ISqlMapper) and
I can access now my Oracle Database.

My only problem is that I have a huge slowdown during the loading of
my application.

With 1.3.0 : load time : 3~4 seconds and 30Mo of virtual memory
With 1.6.1 : load time : 120s with 100% CPU  and 50Mo of virtual memory

A little background : my sqlmap.config is embedded and all my sqlmap
are also embedded (130 xml file, almost 1Mo of data).

My sqlmap.config looks like that :

<?xml version="1.0" encoding="UTF-8" ?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >

   <properties resource="CommunProperties.config"/>

        <settings>
                <setting useStatementNamespaces="false"/>
                <setting cacheModelsEnabled="true"/>
        </settings>
        
        <providers embedded="GB.Persistance.providers.config, Persistance" />

        <database>        
                <provider name="${provider}"/>
                <dataSource name="DB"  connectionString="${connectionString}"/>
        </database>

        <sqlMaps>

<sqlMap embedded="GB.Persistance.Maps.TSociete.xml, Persistance" />
......

I load it that way :

DomSqlMapBuilder builder = new DomSqlMapBuilder();
XmlDocument sqlMapConfig =
Resources.GetEmbeddedResourceAsXmlDocument(_embeddedRessourceLocation);
_qMapper = new QMapper (builder.Configure(sqlMapConfig));

I use Log4net and I can see in my log the sql used.

I really have no clue on a way to properly debug it to check what
takes so long.

If you have any idea, please enlight me.

Thanks in advance.

Sebastien

Reply via email to