为什么带有AND的Hbase shell过滤器导致性能大幅下降?
答案 0 :(得分:3)
scan ‘table’, {FILTER => “PrefixFilter(‘192.168.120.1′)”}
- 您正在使用PrefixFilter。在这种情况下,比较将仅保存在表的行键上,这比其他过滤器有效。 意味着它将比较" 192.168.120.1"对比表中所有相对有效的排键。
scan ‘table’, {FILTER => “PrefixFilter(‘192.168.120.1′) AND ColumnPrefixFilter(‘SSL’)”}
- 在这里使用两个过滤器 PrefixFilter 和 ColumnPrefixFilter 。对于在记录的rowkeys上进行的PrefixFilter比较,但对于ColumnPrefixFilter,每个列最终都与给定的参数进行比较在更多的比较中,这就是为什么它会增加你的响应时间。
答案 1 :(得分:0)
扫描发生在整个桌面上。过滤器处理扫描数据。所以你要扫描两次。使用多个过滤器可以增加响应时间。应仔细执行行键设计,以获得频繁的数据