Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Question about properly laying out a database

by Anonymous Monk
on Dec 13, 2001 at 01:10 UTC ( [id://131406]=note: print w/replies, xml ) Need Help??


in reply to Question about properly laying out a database

BerkeleyDB, you've got exactly one index per file. You could fake extra indexes, but you'll have come up with "one to many" relationships - you may find "chevy" in the "brands" index, but it can't refer to any single other record - it has to refer to multiple other records - which is ok with a RDBMS, but a pain with .db files. If you make a linear search through the .db file every time, performance should be ok for no more then a hit a second, but will be slower then doing a linear search through a flat file. With a hashed file, you access the records randomly when you do a "linear" search, but with a flat file, a linear search really is linear. I wouldn't have any reservations at all about doing... EACHREC: foreach my $rec (keys %tiedhash) { foreach my $criteria (split / /, @searchkeys) { next EACHREC unless $rec =~ m/$criteria/; } print qq{
  • $rec $tiedhash{$rec}\n}; } or something thereabouts...
    • Comment on Re: Question about properly laying out a database
  • Log In?
    Username:
    Password:

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

    How do I use this?Last hourOther CB clients
    Other Users?
    Others scrutinizing the Monastery: (3)
    As of 2024-04-25 13:55 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found