Sylvain Lebresne created CASSANDRA-4476:
-------------------------------------------

             Summary: Support 2ndary index queries with only non-EQ clauses
                 Key: CASSANDRA-4476
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4476
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Sylvain Lebresne


Currently, a query that uses 2ndary indexes must have at least one EQ clause 
(on an indexed column). Given that indexed CFs are local (and use 
LocalPartitioner that order the row by the type of the indexed column), we 
should extend 2ndary indexes to allow querying indexed columns even when no EQ 
clause is provided.

As far as I can tell, the main problem to solve for this is to update 
KeysSearcher.highestSelectivityPredicate(). I.e. how do we estimate the 
selectivity of non-EQ clauses? I note however that if we can do that estimate 
reasonably accurately, this might provide better performance even for index 
queries that both EQ and non-EQ clauses, because some non-EQ clauses may have a 
much better selectivity than EQ ones (say you index both the user country and 
birth date, for SELECT * FROM users WHERE country = 'US' AND birthdate > 'Jan 
2009' AND birtdate < 'July 2009', you'd better use the birthdate index first).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to