Тимчасові таблиці в oracle

Тимчасові таблиці вперше з'явилися в Oracle8I. Вони призначалися для зберігання даних протягом сеансу або транзакції. Відмінною особливістю цих таблиць було те, що вони розташовувалися в тимчасових сегментах і дані в цих таблицях зберігалися тільки на період сесії або транзакції в залежності від реалізації. Тому вони знайшли велике застосування в якості проміжних таблиць при розрахунках, звітах і оптимізації складних запитів.

Для створення тимчасових таблиць використовується оператор CREATE GLOBAL TEMPORARY TABLE з ключовими словами ON COMMIT PRESERVE ROWS (зберігання даних на час сеансу) або ON COMMIT DELETE ROWS (зберігання даних на час транзакції).

Звідси може скластися хибна думка, що екстенти не звільнені. Насправді, як я припускаю, інформація в словнику (а уявлення dba_free_space і dba_extents побудовані саме на ньому) змінюється для тимчасових табличних просторів тільки при першому виділенні екстентів. Це цілком може, пов'язане з великими накладними витратами по оновленню словника. Подання v $ sort_usage навпаки побудовано на x $ таблиці і тому інформація в ньому більш вірна.

Посилання по темі

Інтернет-магазин ITShop.ru пропонує широкий спектр послуг інформаційних технологій і програмного забезпечення.

Протягом багатьох років інтернет-магазин пропонує товари і послуги, орієнтовані на бізнес-користувачів і фахівців з інформаційних технологій.

Добрі відгуки постійних клієнтів і високий рівень фахівців дозволяє отримати найвищий результат при спільній роботі.

У нашому магазині ви можете придбати ліцензійне ПЗ вибравши необхідне з широкого спектру і асортименту за найдоступнішими цінами. Наші менеджери люб'язно допоможуть визначитися з вибором ПО, яке необхідно саме вам. Також ми проводимо навчальні курси. Ми запрошуємо до співпраці навчальні центри, організаторів семінарів і бізнес-тренінгів, викладачів. Сфера співробітництва - просування бізнес-тренінгів та курсів навчання з інформаційних технологій.

Проекти Interface Ltd.

119334, г. Москва, ул. Бардіна, д. 4, корп. 3
+7 (495) 229-0436 [email protected]

Схожі статті