Яка різниця між представленнями та матеріалізованими представленнями в Oracle?
Матеріалізовані уявлення є дисковими і періодично оновлюються на основі визначення запиту.
Представлення є тільки віртуальними і виконують визначення запиту при кожному зверненні до них.
Представлення використовує запит для отримання даних з базових таблиць.
Матеріалізоване подання - це таблиця на диску, яка містить набір результатів запиту.
Матеріалізовані представлення в основному використовуються для підвищення продуктивності програми, коли неможливо або небажано використовувати стандартне представлення з індексами, що застосовуються до нього. Матеріалізовані представлення можуть оновлюватися на регулярній основі або за допомогою тригерів, або за допомогою опції ON COMMIT REFRESH
. Це вимагає декількох додаткових дозволів, але в цьому немає нічого складного. Опція ON COMMIT REFRESH
існує, як мінімум, з версії Oracle 10.
Подання - це, по суті, логічні табличні структури, що заповнюються "на льоту" за заданим запитом. Результати запиту до представлення ніде на диску не зберігаються, і представлення відтворюється кожного разу при виконанні запиту. Матеріалізовані представлення - це реальні структури, що зберігаються в базі даних і записуються на диск. Вони оновлюються на основі параметрів, визначених при їх створенні.