小记--------phoenix创建二级索引

 
//给单个字段创建二级索引
create index pushOrderTime_IDX on "new_push_order_tb"("pushOrderTime");
 
//给多个字段创建二级索引
CREATE INDEX ALL_INDEX ON "new_push_order_tb"("driver_id") INCLUDE("driver_name","mobile","alliance_name","register_city","driver_type","pushOrderTime","driver_management_id");
 
//删除二级索引  ALL_INDEX(索引表名) new_push_order_tb(表名)
drop index ALL_INDEX ON "new_push_order_tb";
 
//查看 查询语句是否查询二级索引表
explain SELECT "driver_id","pushOrderTime"  FROM "new_push_order_tb"
    WHERE "driver_id" = '10000' and "pushOrderTime" >= '2019-11-01' limit 2;

 

 
 
创建好二级索引的phoenix表
 
自己理解的索引表:
如果原始的phoenix表有10个字段, 如果使用创建多个索引字段的创建语句,相当于从10个字段中取出5个字段作为索引表自己的字段,如果在查询表过程中,SQL语句中出现的字段都在索引表中存在,那么就会从索引表中进行查询(效率高),如果有一个字段不在索引表中(select、where中出现的字段),那么就会走原始表(查询效率低)
 
 
还有一个注意的点是:在创建完索引表之后,如果使用hbase 的put 操作插入数据以后,是不会同步到索引表中 
posted @ 2020-12-27 01:09  二黑诶  阅读(276)  评论(0编辑  收藏  举报