Performance 使用jdbc和python phoenixdb运行Phoenix的Hbase集群速度较慢

Performance 使用jdbc和python phoenixdb运行Phoenix的Hbase集群速度较慢,performance,jdbc,hbase,phoenix,database-tuning,Performance,Jdbc,Hbase,Phoenix,Database Tuning,我有一个运行HBase和phoenix queryserver的群集设置。目前,我的集群包含一个主节点和3个从节点。我连接到的表由124列和1600万行组成。一个简单的COUNT(*)或DISTINCT“value”查询大约需要1-2分钟,据我所知,情况不应该是这样的- 在上面链接的文档中,对1亿行的完整表扫描大约需要20秒。由于我的表的大小要小得多,我不明白为什么我的查询要花那么长时间。我可以做些什么来优化我的查询?我计划使用列族重建表(我知道这可以提高性能,但我想知道是否还有其他方法可以快速

我有一个运行HBase和phoenix queryserver的群集设置。目前,我的集群包含一个主节点和3个从节点。我连接到的表由124列和1600万行组成。一个简单的
COUNT(*)
DISTINCT“value”
查询大约需要1-2分钟,据我所知,情况不应该是这样的-

在上面链接的文档中,对1亿行的完整表扫描大约需要20秒。由于我的表的大小要小得多,我不明白为什么我的查询要花那么长时间。我可以做些什么来优化我的查询?我计划使用列族重建表(我知道这可以提高性能,但我想知道是否还有其他方法可以快速提高性能,因为重建当前表将是一项相当艰巨的任务)


我使用的是Phoenix 4.9和HBase 1.2。

您可能想看看Phoenix中的列族和索引。我们添加了索引,性能提高了100倍以上improvement@PaulBastide这听起来很有希望。您知道一种不删除整个表并创建新表的方法吗?正如我提到的,我总共有1600万行我不想丢失所有的数据。我会创建一个新表,然后向上插入到新表中。使用DBMS将是一个快速的移动