Знайте, Intuit, лекция, въпроси за оптимизация
Работата на дума в COMMIT и намаление на цените е козметичен характер и се използва по желание.
Command COMMIT и ROLLBACK
В Oracle, няма команда за създаване на нова сделка (за разлика от стандарта SQL), но има два пълни отбори: резултатите от фиксиране се осъществява през последната сделка команди на ГСД (комит), и отхвърлянето от тях (ROLLBACK). Връзката с базата данни автоматично води до началото на нова сделка и едно и също нещо се случва на приключване на работата по всяка команда или отхвърлянето на промените. По този начин, всички операции с данни (таблици, индекси, вътрешен обекти LOB) волю-неволю се изпълняват винаги в Oracle като част от всяка сделка, както и комуникационната сесия с базата данни на програмата изглежда като поредица от последователни операции. приключване на транзакцията отборът се отрази само на операции ГСД, но в някои случаи, базата данни генерира себе си такава команда. По този начин, всеки DDL команда завършва имплицитно (скрито) издаване COMMIT; извънредно заседание или разкъсване на изключение на нивото на програмата е придружено от издаването на неявна ROLLBACK.
Понякога водят две методически правила за използването COMMIT:
- издава COMMIT. възможно най-скоро, и
- да не издаде COMMIT преди това е необходимо.
COMMIT операция е скъпа за СУБД, и особено честото въпрос може значително да възпрепятства работата на СУБД. Във версия 10, възможността за ускорено внедряване на COMMIT. За този екип, можете да укажете думи ПАРТИДИ ( "група се ангажира": запис на издаване COMMIT е вписано в буфера дневник в базата данни, но не води до прехвърляне на записи в дневника във файла) или NOWAIT (СУБД започва обработката на следващата команда сесия, без да чака за действителното изпълнение на работата COMMIT):
може да се наблюдава Пример за такова поведение, изтласкващ в SQL * Plus използване сценария подаде следния текст:
Тук се постига разликата СУБД транзакционни принудени рестартиране: СТАРТИРАНЕ СИЛА.
Всеки от инструкциите или партидата NOWAIT в напиши COMMIT команда анулира гаранцията от базата данни на получаване на последните промени в базата данни в случай на повреда, независимо от въпроса COMMIT потребителското програма.
По подразбиране един COMMIT метод добив в присъствието на тези варианти може да се настрои за цялата база данни (промяна на системата ...) и на отделни сесии (ALTER SESSION ...) параметри на базата данни: