У меня есть фильтр с предложением IN, который будет получать CustomerIDs из выбора пользователя в моем запросе.Я бенчмаркинг выполнения запроса, и, кажется, изменив нет.параметров в предложении IN в красном смещении вызывает перекомпиляцию запроса.Последующий запрос после изменения параметра в предложении IN занимает больше времени, чем предыдущий.
select * -- some aggregations here
from FactCustomer c
inner join FactSales s on c.CustomerID = s.CustomerId
inner join DimDate d on d.DateID = s.DateID
inner join DimTime t on t.TimeID = d.timeID
where d.SalesDate between '01-01-2018' and '12-31-2018'
and c.CustomerID in ( 1,3,7,9, 11, 13, 15, 17, 19, 21, 23, 25, 27 )
-- there are over 200 customers and the user can select as much as they want in the filter
-- the customerIDs comes from the user dyamically thru the dashboard
-- if the no. of parameters in customerID change to less or more the subsequent queries take time
Мой вопрос
Что будетальтернатива в Redshift, чтобы я мог получить customerIds от пользователя, который может быть использован в моем запросе, без использования предложения IN?
PS Использование временных таблиц не подходит для моего случая.
Любойпонимание ценится.
С уважением,
Успех