描述如下: 使用phoenix查询hbase数据。读多写少场景。未创建phoenix自带的全局索引。 自己根据业务条件创建了大约5个索引表,索引表有两个字段,字段1:多个条件组合成的主键(id),字段2:对应数据表的主键(rowkey) 当前查询模式为:先根据条件,查询索引表中所有的对应主数据表的主键(rowkey),然后在代码里保存为一个列表(list), sql:
select id,rowkey from 索引表 where id范围
然后查询主数据表(A)
sql: select [需要的字段] from 主数据表 where rowkey in ( list里面的所有rowkey )
问题1:这种设计方式与phoenix的全局索引性能相差很大吗? 问题2:在查询数据主表时 where in ( list里面的所有rowkey ) 此时是走scan查询还是get查询? 求大佬指点一波 万分感谢!
设置pk为rowkey,基于rowkey查性能应该是最好的。次之是全局索引。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。