У меня есть таблица с информацией о сегменте клиента (5 столбцов фактора / символа), информация о Division_brand (столбцы 2 фактора / символа) и надеюсь, что я смогу ранжировать разные product_category по cate_qty и cate_margin в каждом сегменте клиента и сегменте Division_brand (9 столбцов)).Могу ли я предложить несколько советов, как сделать ранжирование (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
)
;