sqlite> explain query plan select node.loc, node.weight from node inner join filt on (node.id = filt.node_id) inner join filt T5 on (node.id = T5.node_id) inner join filt T6 on (node.id = T6.node_id) where (filt.word = 'aaa' and T5.word = 'aasvogel' and T6.word = 'abaca') order by node.weight desc limit 10; 0|0|1|SEARCH TABLE filt USING COVERING INDEX filt_word_node_id (word=?) 0|1|0|SEARCH TABLE node USING INTEGER PRIMARY KEY (rowid=?) 0|2|2|SEARCH TABLE filt AS T5 USING COVERING INDEX filt_word_node_id (word=? AND node_id=?) 0|3|3|SEARCH TABLE filt AS T6 USING COVERING INDEX filt_word_node_id (word=? AND node_id=?) 0|0|0|USE TEMP B-TREE FOR ORDER BY