|Perl: the Markov chain saw|
Re^5: Hash lookups, Database lookups, and Scalabilityby mpeppler (Vicar)
|on Oct 31, 2004 at 16:19 UTC||Need Help??|
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:
(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").