Хорошо.У меня есть очень большая таблица, используемая для статистики.У меня есть менее плотная версия таблицы данных, которая обеспечивает резервное копирование и способ очистки основной таблицы.Они идентичны по столбцам, индексам, ограничениям.
Вторая таблица обновляется с помощью определенных аномалий из основной таблицы, поэтому, если и когда мы очистим данные, аномалии останутся в записи.
Итак, я создал представление, которое делает UNION между двумя для запроса данных,
Урезанная версия таблицы ...
ID
TIMESTAMP
KEY_1
KEY_2
Существуетуникальное ограничение для KEY_1, KEY2, TIMESTAMP
и индекс для TIMESTAMP
Если я запрашиваю любую таблицу для диапазона временных отметок и одного ключа_1, key_2, он использует ограничение.Если я запрашиваю представление, он использует индекс метки времени и, таким образом, считывает все значения key_1, key_2.Даже с другим индексом TIMESTAMP, KEY_1, KEY_2 выполняет чтение с использованием индекса TIMESTAMP (KEY_1 и KEY_2 принимаются из таблицы JOINED)
Таким образом, чтение VIEW для большого количества данных занимает много времени, так как сканирует 10000-е годы.больше строк, чем непосредственно при чтении таблицы.
Кажется, я не могу добавить ограничение к представлению, что я могу сделать?