我有一张表格,其中包含以
格式向许多不同客户提供的联系信息email_address | treatment_group | customer_id | contact_date |
我正在尝试添加一个列,查看每个不同的客户,并将他们从最久前收到的联系人编号为最近的。我正在使用此代码:
explain create table db.responses_with_rank
as
( select a.*,
rank () over (partition by customer_id order by contact_date asc)as xrank
from db.responses_with_rank
)
with data
primary index (email_address, treatment_group)
我的查询正在结束。有一个email_address的主索引,treatment_group导致偏差因子为1.1,而customer_id上的辅助主索引。我收集了两组索引的统计数据。该表非常大 - 约200M记录。我可以尝试优化此查询吗?
答案 0 :(得分:1)
没有足够的信息来确定错误原因。 首先,请在您的问题中添加以下内容:
select * from dbc.dbcinfo
)select top 10 customer_id,count(*) from db.responses_with_rank group by 1 order by 2 desc
) P.S。
我强烈建议您使用create multiset table
而非create table
。