Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Search an array ref of array refs

by jeroenes (Priest)
on Nov 01, 2001 at 11:47 UTC ( [id://122519]=note: print w/replies, xml ) Need Help??


in reply to Search an array ref of array refs

I personally would follow your first hunch and fetch the row from DBI. Why? Databases are optimized for searching the tables, perl is not. SQL is more clear for searching. Just compare the other solutions with a simple SQL query:  select * from table where id=$rowid;.

Another point, the databases mostly scale very well. If your table exceeds let's say more than 1000 items, perl will seriously slow down.

The performance penalty of the additional DBI call moreover probably is pretty small.

Jeroen
"We are not alone"(FZ)

Replies are listed 'Best First'.
Re: Re: Search an array ref of array refs
by bittondb (Novice) on Nov 05, 2001 at 07:37 UTC
    Granted, the search is much more efficient in the DB, but I already have the whole table because I just used it to create a SELECT box on my web page. So the whole genesis behind this was to avoid another round trip to the DB, which IMHO, is more costly (but I could be wrong). :)
      What are you optimizing than? Execution speedup cq load time? Are you sure that it takes significantly more time to do an additional query to the server? I guess the connection is not closed between the statement. Maybe the DB is on the same box as the webserver.

      And even if it takes some additional timeframe (probably very small, test it!) for the query, is it worth the worse maintainability of perl code vs the SQL code?

      I generally would answer 'no', but your situation may be different. As ppl say: only optimize the code that needs optimization. Optimization leads to less quality code, so be sure you need it. Just consider what you are doing.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://122519]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2024-03-29 08:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found