cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10214) Enable index selection to be overridden on a per query basis
Date Fri, 28 Aug 2015 09:34:46 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-10214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14718274#comment-14718274
] 

Sylvain Lebresne commented on CASSANDRA-10214:
----------------------------------------------

I'll note that if we do this (which I'm in favor of), I think we should also add a special
{{USING NO INDEX}} case. Currently, we always use an index if one can be used, but there is
cases where this could be a bad choice. Typically, if the query is on a single partition but
includes a condition on an indexed column, it could be faster to do a normal query with simple
filtering afterwards than to do an actual index query.

> Enable index selection to be overridden on a per query basis
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-10214
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10214
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Sam Tunnicliffe
>             Fix For: 3.x
>
>
> (Broken out of CASSANDRA-10124)
> We could add a {{USING INDEX <indexname>}} clause to {{SELECT}} syntax to force
the choice of index and bypass the usual index selection mechanism.
> {code}
> CREATE TABLE ks.t1(k int, v1 int, v2 int, PRIMARY KEY (k));
> CREATE INDEX v1_idx ON ks.t1(v1);
> CREATE INDEX v2_idx ON ks.t1(v2);
> CREATE CUSTOM INDEX v1_v2_idx ON ks.t1(v1, v2) USING 'com.foo.bar.CustomMultiColumnIndex';
> # Override internal index selection mechanism
> SELECT * FROM ks.t1 WHERE v1=0 AND v2=0 USING v1_idx;
> SELECT * FROM ks.t1 WHERE v1=0 AND v2=0 USING v2_idx;
> SELECT * FROM ks.t1 WHERE v1=0 AND v2=0 USING v1_v2_idx;
> {code}
> This is in some ways similar to [index hinting|http://docs.oracle.com/cd/B19306_01/server.102/b14211/hintsref.htm#CHDJDIAH]
in Oracle. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message