Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
Perl: the Markov chain saw
 
PerlMonks  

Re^5: Hash lookups, Database lookups, and Scalability

by mpeppler (Vicar)
on Oct 31, 2004 at 16:19 UTC ( #404144=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Hash lookups, Database lookups, and Scalability
in thread Hash lookups, Database lookups, and Scalability

Indexes and query behavior is usually pretty tied to the way a particular database engine works - and I don't know SQLlite at all, so I can't really help you with specifics.

However, your table schema is exceedingly simple, so you really only have two choices:

create unique index left_ix on words(left)
or
create unique index left_ix on words(left, right)
(and their opposites).

The first form is more "correct" - you really only want the key in the index. The second form may give you slightly better performance, at the expense of allowing duplicate "left" words into the table as long as they point at a different "right" word, and slightly more work during inserts (index maintenance is a little more complicated).

Personally I'd use the first form (index on "left", and a separate index on "right").

Michael


Comment on Re^5: Hash lookups, Database lookups, and Scalability
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2014-04-24 12:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (565 votes), past polls