Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Festlegen eines Werts für LIMIT bei Verwendung der Massenerfassung

Verwenden Sie einen impliziten Cursor in einem Cursor FOR LOOP. Es macht den Code einfacher und der Standardwert von 100 ist fast immer gut genug.

Ich habe viele Leute gesehen, die viel Zeit damit verschwenden, sich darüber Gedanken zu machen. Wenn Sie darüber nachdenken, warum Massenerfassung verbessert die Leistung, Sie werden verstehen, warum große Zahlen nicht helfen.

Die Massenerfassung verbessert die Leistung, indem die Kontextwechsel zwischen SQL und PL/SQL reduziert werden. Stellen Sie sich das äußerst unwahrscheinliche Worst-Case-Szenario vor, bei dem der Kontextwechsel die gesamte Laufzeit verbraucht. Ein Limit von 2 eliminiert 50 % der Kontextwechsel; 10 eliminiert 90 %; 100 eliminiert 99 % usw. Zeichnen Sie es auf und Sie werden feststellen, dass es sich nicht lohnt, die optimale Grenzgröße zu finden:

Verwenden Sie die Standardeinstellung. Verbringen Sie Ihre Zeit damit, sich um wichtigere Dinge zu kümmern.