Class::DBI is sooooooooooo slow

A

ankur2080

Last resort, posted this message to perl.beginners and perl.dbi.users
and still didn't get a response. :-((.

~~~~

Hi All,

My first try with Class::DBI and DBI modules and I find that making a
query using Class::DBI takes much much more time than just DBI.

Is it me who is doing something wrong or Class::DBI is always slow(I
have kind of feeling that its me who is doing something wrong).

Also, I have another question.
Why do I need to specify the column names, primary keys in Class::DBI
while not in DBI? I mean, how is DBI module able to determine the
primary keys and other fields while Class::DBI not.

FYI, I have ~40k records and using mysql 5.0.

*** using DBI ***

use strict;
use warnings;
use DBI();

my $dbh =
DBI->connect("DBI:mysql:database=scratch;host=blah","user","passwd");

my $sth = $dbh->prepare("SELECT field from table where user =
'user1'");
$sth->execute();
while (my $ref = $sth->fetchrow_hashref()) {
print $ref->{field}, "\n";
}

$sth->finish();
$dbh->disconnect();

## Returns the result in a flash

*** using Class::DBI ***

use strict;
use warnings;

use Test::personal;
my @users = Test::personal->search(user => "user1");

foreach my $u ( @users ){
print $u->field, "\n";
}

## Returns the result very slowly.

____Test::personal____

package Test::personal;
use base 'Test::DBI';

Test::personal->table('table');
Test::personal->columns(Primary => qw/user start_time/);
Test::personal->columns(Others => qw/field/);

1;

_____Test::DBI_______

package Test::DBI;
use base 'Class::DBI';

Test::DBI->connection('dbi:mysql:database=scratch;host=blah', 'user',
'password');

1;

--Ankur
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top