hi, I'm using phoenix-4.7, and I found phoenix did not use index efficiently enough.
Can phoenix optimize more for this situation?

EX:

table:

create table t (pk varchar primary key, name varchar, age unsigned_int);

and create 2 index on it:
     create index name on t (name);
     create index age on t (age);

*
problem1: select * from table did not use index, instead did full scan on table.*

0: jdbc:phoenix:localhost> explain select * from t where name = 'name';
+-------------------------------------------------------------+
|                            PLAN                             |
+-------------------------------------------------------------+
| CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER T  |
|     SERVER FILTER BY NAME = 'name'                          |
+-------------------------------------------------------------+


*problem2:  when selecting more than 1 field,  neither index will be used. *

0: jdbc:phoenix:localhost> explain select name from t where name = 'name' and age > 1;
+-------------------------------------------------------------+
|                            PLAN                             |
+-------------------------------------------------------------+
| CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER T  |
|     SERVER FILTER BY (NAME = 'name' AND AGE > 1)            |
+-------------------------------------------------------------+


0: jdbc:phoenix:localhost> explain select age from t where name = 'name' and age > 1;
+-------------------------------------------------------------+
|                            PLAN                             |
+-------------------------------------------------------------+
| CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER T  |
|     SERVER FILTER BY (NAME = 'name' AND AGE > 1)            |
+-------------------------------------------------------------+

Reply via email to