in reply to Re^2: DBI speed up needed on MySQL
in thread DBI speed up needed on MySQL
Well, then you'll probably want to get the list of column names via a separate query, store those in an array (e.g. "@colnames", then use the array to define the data query and then load the hash:
(untested, but it should give you a good-enough idea...; um, especially after the update to use "@$rowref" in the hash slice assignment instead of "$$rowref" which was wrong.)my $sqlstr = "select " . join(",", @colnames) . " from sometable ..."; my $sth = $dbh->prepare( $sqlstr ); while ( $rowref = $sth->fetchrow_arrayref ) { @rowhash{@colnames} = @$rowref; ... }
Since you're using mysql, you could get the list of column names by a query like "describe sometable" -- the column name will be the first column in each returned row. (There are other ways, but this is pretty simple.)
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: DBI speed up needed on MySQL
by shenme (Priest) on May 08, 2005 at 05:42 UTC | |
Re^4: DBI speed up needed on MySQL
by bart (Canon) on May 08, 2005 at 09:42 UTC | |
by jacques (Priest) on May 09, 2005 at 00:20 UTC |
In Section
Seekers of Perl Wisdom