You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sam Tunnicliffe (JIRA)" <ji...@apache.org> on 2015/08/28 11:16:46 UTC

[jira] [Created] (CASSANDRA-10214) Enable index selection to be overridden on a per query basis

Sam Tunnicliffe created CASSANDRA-10214:
-------------------------------------------

             Summary: 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)