improve database performance
This commit is contained in:
@@ -18,8 +18,8 @@ our @EXPORT_OK = qw(
|
|||||||
);
|
);
|
||||||
|
|
||||||
#debug settings
|
#debug settings
|
||||||
our $debug_read = 0;
|
my $debug_read = 0;
|
||||||
our $debug_write = 0;
|
my $debug_write = 0;
|
||||||
|
|
||||||
#database control
|
#database control
|
||||||
our $read = 1;
|
our $read = 1;
|
||||||
@@ -84,7 +84,6 @@ sub get {
|
|||||||
my $sth = $dbh->prepare($sql);
|
my $sth = $dbh->prepare($sql);
|
||||||
if ( ( defined $bind_values ) && ( ref($bind_values) eq 'ARRAY' ) ) {
|
if ( ( defined $bind_values ) && ( ref($bind_values) eq 'ARRAY' ) ) {
|
||||||
|
|
||||||
# print STDERR Dumper($bind_values)."\n";
|
|
||||||
my $result = $sth->execute(@$bind_values);
|
my $result = $sth->execute(@$bind_values);
|
||||||
unless ($result) {
|
unless ($result) {
|
||||||
print STDERR $sql . "\n";
|
print STDERR $sql . "\n";
|
||||||
@@ -94,22 +93,15 @@ sub get {
|
|||||||
$sth->execute() || die "db: $DBI::errstr $sql" if ( $read == 1 );
|
$sth->execute() || die "db: $DBI::errstr $sql" if ( $read == 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
my @results = ();
|
my $results = $sth->fetchall_arrayref({});
|
||||||
while ( my $row = $sth->fetchrow_hashref ) {
|
|
||||||
my $result = {};
|
|
||||||
foreach my $key ( keys %$row ) {
|
|
||||||
$result->{$key} = $row->{$key};
|
|
||||||
}
|
|
||||||
push @results, $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $debug_read == 1 ) {
|
if ( $debug_read == 1 ) {
|
||||||
print STDERR Dumper( $results[0] ) . "\n" if ( @results == 1 );
|
print STDERR Dumper( $results->[0] ) . "\n" if ( scalar @$results == 1 );
|
||||||
print STDERR @results . "\n" if ( @results != 1 );
|
print STDERR @$results . "\n" if ( scalar @$results != 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
$sth->finish;
|
$sth->finish;
|
||||||
return \@results;
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
# get list of table columns
|
# get list of table columns
|
||||||
|
|||||||
Reference in New Issue
Block a user