On Wed, Jul 20, 2005 at 07:20:02PM -0500, Gerardo Santana G?mez Garrido wrote:
> On 7/20/05, Tim Bunce <[EMAIL PROTECTED]> wrote:
> > On Sun, Jul 03, 2005 at 03:47:11AM -0500, Gerardo Santana G?mez Garrido
> > wrote:
> > > ---------- Forwarded message ----------
> > > From: Gerardo Santana G?mez Garrido <[EMAIL PROTECTED]>
> > > Date: Jun 29, 2005 1:46 PM
> > > Subject: it works, but...
> > > To: [EMAIL PROTECTED]
> > >
> > >
> > > I'm sending you attached the output of it_works.
> > >
> > > DBD::Informix works fine, except that it's taking twice the time than
> > > ESQL/C when I SELECT from a table and do a while($ref = $stmt->fetch)
> > > { }
> > >
> > > This table has aprox. 250 fields and 8000 rows. It takes 199 seconds
> > > for perl to execute the select and fetch all the records, while for
> > > the program in ESQL/C (that selects, fetch, aggregates and prints a
> > > report) it takes 72 seconds.
> > >
> > > Any ideas?
> >
> > Can you post the code that's calling the DBI? That's probably where
> > most of the time is being spent.
> >
> > A very simple way to check that is to set the DBI_PROFILE env var to 1
> > before running the script. Let us know what it says.
>
> Thanks. This is it:
>
> DBI::Profile: 215.947677s 93.72% (8587 calls) test.pl @ 2005-07-20 18:21:3
>
> That was with my original query, that joins four tables.
>
> This is with a simple "select * from table", where table has around 300
> fields:
>
> DBI::Profile: 143.146600s 91.56% (8588 calls) test2.pl @ 2005-07-20 18:33:00
Can you post the code?
> By the way, I have just tested the same on Solaris 2.6 with IDS 7.30
> and I get this:
> DBI::Profile: 1.697653s 59.09% (198 calls) test2.pl @ 2005-07-20 19:31:22
>
> So, I guess my HP environment is broken somewhere.
Yeap. The difference in the number of DBI method calls is very striking.
Tim.