我有一个主键,该键由KUDU中的三列(id_grandparent,id_parent,id_row)组成。
当我通过id_grandparent查找时,我希望我的查找要快速(类似于hbase)。我正在使用Impala和Spark进行查找,假设它们都对相等性进行谓词下推。
我有一些问题,无法通过阅读文档告诉我们100%肯定
SELECT * FROM my_table where id_grandparent = 55
即使我没有提供整个主键,该查询也能够使用索引顺序吗? (又名mega-fast)。我假设是,因为我猜主键是按第一列排序的,这是某种前缀扫描
SELECT * FROM my_table where id_parent = 55
此查询将能够使用任何类型的优化吗?否则任何非第一列(如果未提供第一列)将强制对所有平板电脑进行全面扫描。
我已经在这里https://kudu.apache.org/2018/09/26/index-skip-scan-optimization-in-kudu.html上阅读过此信息,但不确定是否已发布
预先感谢!
答案 0 :(得分:1)
根据this JIRA ticket,它仍处于待处理状态。
根据this documentation(在回答此问题时为最新情况)
对多级分区表的扫描可以独立利用任何级别上的分区修剪功能。
但是考虑到blog post才写在几个月前,我怀疑索引跳过扫描是否已经实现。
更新根据dev@kudu.apache.org的回复
不幸的是,原始作者的实习期于去年夏天结束,没有人花时间完成工作。肯定会加快某些类型的查询的速度。有人担心,在当前状态下,它可能导致某些查询的性能下降。它可能会通过改进用于决定何时启用跳过扫描优化的试探法而受益。