我有一个表,该表具有客户群信息(5个因子/字符列),具有division_brand信息(2个因子/字符列)并希望 我可以在每个客户群和Division_brand细分(9列)中按cate_qty和cate_margin对不同的product_category进行排名。请问如何提高排名(rank()或rownumber())的效率? 实际上,我在具有7列的客户群中具有更大的维度
这是一个示例
create table prod_cate_rank as
select
gender
, age_group
, div1_rev_bucket
, div2_rev_bucket
, div3_rev_bucket
, division_name
, brand
, product_category
, cat_revenue
, cat_margin
, cat_qty
,ROW_NUMBER()over (partition by
gender
, age_group
, div1_rev_bucket
, div2_rev_bucket
, div3_rev_bucket
, division_name
, brand
order by cat_qty desc, cat_margin desc) as rn
from seg_product_info
谢谢! 我应该使用任何技术吗? 1。
partition by hash
(
division_name
,brand
)
partitions 32
nologging;
或 2.
partition by hash
(
division_name
,brand
)
partitions 32
nologging
;
CREATE INDEX core
on
seg_product_info
(
gender
, age_group
, div1_rev_bucket
, div2_rev_bucket
, div3_rev_bucket
, division_name
)
;