Я пришел к созданию временной таблицы в оракуле. Но не мог понять, как это лучше всего использовать. Может кто-то помочь мне понять, что особенности и преимущества использования временной таблицы в Oracle (create temporary table temp_table)
над обычным столом (create table temp_table)
)Преимущества временной таблицы в оракуле над обычным столом
ответ
От concepts guide:
Определение временной таблицы сохраняется в том же как постоянное определение таблицы , но данные существуют только на время транзакции или сеанса . Временные таблицы полезны в приложениях , где результирующий набор должен храниться временно, возможно потому, что результат построен путем запуска нескольких операций.
And:
данных во временной таблице является частным сессии, что означает, что каждый сеанс может только просматривать и изменять свои собственные данные.
Итак, один аспект заключается в том, что данные являются конфиденциальными для вашей сессии. То же самое относится и к несанкционированным данным в постоянной таблице, но с временной таблицей данные могут сохраняться и оставаться приватными через фиксацию (на основе предложения on commit
о создании).
Еще один аспект заключается в том, что они используют temporary segments, что означает, что вы создаете гораздо меньше операций повтора и отмены, используя временную таблицу, чем если бы вы временно помещали одни и те же данные в постоянную таблицу, опционально обновляли ее, а затем удаляли, когда вы закончили с этим. Вы также избегаете конфликтов и блокировок, если более чем одному сеансу нужна своя версия временных данных.
Спасибо Алекс за приятное объяснение. Поэтому, если есть одна временная таблица, используемая несколькими сеансами, например. несколько зарегистрированных пользователей, то как они могут себя вести? Хорошо, позвольте мне объяснить сценарий. Я использую подготовленный оператор, где в вопросе, который я использую в разделе. Итак, в разделе есть динамические значения, поэтому я не знаю, сколько? я должен положить туда. Я могу сделать его динамичным, но это не будет хороший код. Поэтому кто-то предложил мне использовать временную таблицу. Но тот же запрос может использоваться несколькими логинами, где каждый пользователь может иметь свои собственные значения для параметра. Так как же он может себя вести в этой ситуации? –
@santu - вы можете это сделать. Пока вы заполняете временную таблицу и вызываете оператор из того же сеанса, вызов будет видеть только данные, которые вы только что положили. Несколько сеансов могут одновременно иметь свои личные данные без конфликтов.Я думаю, что это скорее подход SQL Server; вы также можете посмотреть на заполнение массива или таблицы PL/SQL в зависимости от того, где вы генерируете значения и вызываете это из (PL/SQL, Java, ...). Или, если значения взяты из другой таблицы, вы должны подключаться напрямую, не используя временную структуру. –
Ниже приведены некоторые моменты, когда и почему мы должны временную таблицу: -
1) Временные таблицы создаются для хранения данных в табличной форме, для облегчения поиска этого, при необходимости, с в этой конкретной сессии ,
2) Он также добавляет цель обеспечения хранения данных только для этой конкретной сессии.
3) Когда код длится долго и открывается много курсоров, лучше помещать данные во временную таблицу, чтобы их можно было легко извлечь в нужное время.
- 1. Преимущества os.path.splitext над обычным .split?
- 2. Преимущества использования QOpenGLWidget над обычным QWidget
- 3. Преимущества jQuery Widget над обычным JS-объектом?
- 4. Преимущества GSON над обычным анализом JSON
- 5. Обновление таблицы на основе временной таблицы в оракуле
- 6. Сделать поповер над столом
- 7. Просмотр временной таблицы внутри хранимой процедуры в оракуле
- 8. ДИВ отображает над столом
- 9. Итерация над столом с DriverManager
- 10. Как охватить маску над столом
- 11. Пользовательские директивы Angularjs над обычным html
- 12. соединение двух столов с одним столом в оракуле
- 13. Как получить сумму временной отметки в оракуле?
- 14. Полноэкранный накладной над рабочим столом
- 15. Плавающий значок над рабочим столом
- 16. Преимущества LDAP над РСУБД?
- 17. Преимущества [HandleError] над Application_Error
- 18. Преимущества MySQLi над MySQL
- 19. Преимущества определения над let
- 20. Преимущества Dict над OrderDict
- 21. Преимущества Tesla над GeForce
- 22. Преимущества ВТКЕЕ + над BTree
- 23. Преимущества JDBC над plsql?
- 24. Преимущества MVVM над MVC
- 25. Преимущества формата над конкатенацией
- 26. Преимущества strncmp над strcmp?
- 27. Преимущества slist над вектором?
- 28. Преимущества MVC над MVP
- 29. Преимущества MemoryPoolMXBean.getUsage() над Runtime.freeMemory()
- 30. Преимущества getPost над $ _POST
Таблица Temp хранится в табличном пространстве temp, используется в основном для хранения данных в течение всего сеанса или в течение ограниченного периода времени. – haki