Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

PL/SQL optimalizace stored procedures v Oracle

14. 02. 2012 Aktualizováno: 28. 03. 2026 1 min čtení CORE SYSTEMSdata
Tento článek byl publikován v roce 2012. Některé informace mohou být zastaralé.
PL/SQL optimalizace stored procedures v Oracle

Tento článek popisuje optimalizaci PL/SQL stored procedures v Oracle databázi, která přinesla dramatické zrychlení nočních dávek.

Nocni batch prepocitava pojistne pro 800 000 smluv — trva 6 hodin. Nocni okno je 4 hodiny. DBMS_PROFILER ukazal: row-by-row processing, COMMIT uvnitr smycky, zadne BULK operace.

BULK COLLECT a FORALL

BULK COLLECT nacte data do kolekce najednou. FORALL provede DML v jednom roundtripu. LIMIT 10000 pro rozumnou spotrebu pameti. COMMIT po davce misto po radku.

SQL misto PL/SQL

Funkce prepsana jako SQL CASE expression. Cely batch nahrazen jednim UPDATE prikazem. 800 000 context switchu eliminovano. Vysledek: 6 hodin na 8 minut.

Parallel DML

PARALLEL hint zkratil batch na 3 minuty. Pozor — vyzaduje exkluzivni zamek na tabulku.

Pouceni

Row-by-row je hlavni performance killer v PL/SQL. Preferujte BULK operace nebo ciste SQL. Profilujte — nehádejte bottleneck.

pl/sqloracleperformancedatabase
Sdílet:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Potřebujete pomoc s implementací?

Naši experti vám pomohou s návrhem, implementací i provozem. Od architektury po produkci.

Kontaktujte nás
Potřebujete pomoc s implementací? Domluvit schůzku