Моя проблема в том, что у меня есть представление, которое возвращает 20 000 строк данных за определенный день
select * from view
where date = X
, но затем, когда я добавляю условие where для периметра, мне нужно
select * from view
where date = X and perimeter in ( 'A' , 'B' , 'C', 'D' )
результат на 10.000 строк больше или меньше, но для получения результата требуется до 30 минут.
Представление довольно сложное с десятками объединений и агрегатов и т. д.
как я могу это исправить?
Спасибо за вашу помощь, и если у вас есть какие-либо вопросы, спросите меня:)
** ОБНОВЛЕНИЕ: спасибо за ваши ответы.Настоящий запрос довольно сложный.Это всего лишь пример, чтобы объяснить мою проблему.План выполнения довольно длинный и бесполезный, так как у меня есть точный (100%) один и тот же план выполнения (оценочный и реальный), использую ли я фильтр по столбцу периметра или нет.но время позади этого идет от 30 секунд, когда я только фильтрую дату до 30 минут, когда я добавляю фильтр периметра.поэтому это должно означать, что план выполнения в любом случае неправильнстатистика обычно обновляется по этим таблицам.нет индекса по этому столбцу в таблице, где я его ищу.необходимо добавить один для просмотра?Столбец, по которому мы фильтруем, получается благодаря левому соединению в представлении **