On 4/12/07, Cesar Rodas <[EMAIL PROTECTED]> wrote:
Hello.

I have a question about SQLite join-mechanisms. Let me explain with an
example.

I have the follow table.
CREATE TABLE a(
   word_id INTEGER,
   doc_id INTEGER
);

CREATE INDEX "a_index1" ON "a"(
"doc_id"  ASC
);

CREATE INDEX "a_index" ON a (
   "word_id" DESC
);

And how can SQLite do an optimized join of the follow query
SELECT
    a.doc_id
FROM
    a, a as a1, a as a2
WHERE
    a.doc_id = a1.doc_id and a1.doc_id = a2.doc_id  and
    a.word_id = 1 and a1.word_id = 2 and a2.word_id = 4
LIMIT 0,20


Cesar,

Am I flaking out or are you just making things more complicated for
yourself than they need be --

What the example do is find the doc_id that has word_id 1,2 and 4.
And suppose that there is:

Would a simple statement like the following work?

SELECT doc_id
FROM a
WHERE word_id IN (1, 2, 4)



   - 40000 docs with word_id 1
   - 50000 docs with word_id 2
   - 353500 docs with word_id 4







--
Puneet Kishor http://punkish.eidesis.org/
Nelson Inst. for Env. Studies, UW-Madison http://www.nelson.wisc.edu/
Open Source Geospatial Foundation http://www.osgeo.org/education/
---------------------------------------------------------------------
collaborate, communicate, compete
=====================================================================

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to