У меня есть таблица хранения информации о контактах, сделанных для различных клиентов в форматеКак решить ошибку spool space с рангом() над разделом путем оптимизации SQL?
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. Я собрал статистику по обоим наборам индексов. Стол довольно большой - около 200 М записей. Можно ли попытаться оптимизировать этот запрос?
Что такое DDL исходной таблицы? И сколько у вас катушка? 'select spoolspace from dbc.usersV где UserName = user;' – dnoeth
Btw, что является * вторичным первичным индексом *? Статистика не поможет в вашем случае. – dnoeth