Bulk processing (FORALL and BULK COLLECT), along with the function result cache, are the "big ticket" items when it comes to performance optimization with PL/SQL. But there's still more we can do to tweak our code for even better response times for our users. This third webast in the series starts with the automatic compiler optimization, showcases the extraordinary speediness of PGA data manipulation (a.k.a., package variables), and demonstrates the effect of the simple NOCOPY hint. We finish up with an introduction to pipelined table functions and some thoughts on optimizing your algorithms.
Watch as Steven explains what he means by hard-coding in PL/SQL.
That's right. VARCHAR2 declarations mean that you have to provide an "N" or constraint on the size of the variable. If you have such declarations all over your code, that's a form of hard-coding and you are likely to get hammered by VALUE_ERROR exceptions. This video shows how to fix this problem.
Since we write software using our brains, it is hard to avoid the impact of psychology and physiology of our brains on our code. This manifests quite clearly when it comes to hard-coding.
Join Steven Feuerstein, well-known author and recognized Oracle PL/SQL expert, on a video tour that leads you to techniques which help you write practically perfect PL/SQL.
The Function Result Cache, added in Oracle Database 11g, offers developers a way to dramatically reduce the amount of time it takes to retrieve data that is requested repeatedly by database sessions (specifically: when the same rows of a table are fetched much more frequently than they are changed). This cache is stored in the SGA, shared across all sessions in the instance, and automatically purged of "dirty data" by the Oracle Database. Every application running on Oracle Database 11g Release 1 or higher Enterprise Edition should be taking advantage of this feature. Best of all, there is minimal impact on your code to start using this feature!
Learn how to run a script to update your database, review database objects in your database, create and debug a PL/SQL procedure and create an run a unit test in SQL Developer.
Recognizing patterns in a sequence of rows has been a capability that was widely desired, but not possible with SQL until now. There were many workarounds, but these were difficult to write, hard to understand, and inefficient to execute. With Oracle Database 12c Release 1 (12.1), you can use the MATCH_RECOGNIZE clause to perform pattern matching in SQL to do the following: