Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in the manual
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
"n" methods to improve Oracle Apex performance
Transcript of "n" methods to improve Oracle Apex performance
forms style architecture
database on different tier
you could loop through the array...
... or you could use bulk binding
the Apex page builder
the related application process
with declarative cascading LOVs
CSS - in the right place
Call an AJAX Process
Report Region Attributes
the law is strangling creativity
larry lessig - TED 2005
so let's consider...
Systems Consultant & Trainer
Sage Computing Services
"n" methods to improve Apex performance
-- define some supporting objects
-- create a pipelined function that
communicates with LDAP
-- now you can just select from a "table"
...allows simpler conditions
setting everything up once...
do your conditions really need to run that SQL?
... much better
be aware of your pagination
if you can 'see' the number of rows...
... consider setting a (respectable) upper limit
so what's this I hear about AJAX?
but I just want to do this?
don't forget about those scripts yet...
this is still potential
for some really clever stuff
what about "forms style"
when something happens...
it just calls some PL/SQL
remember post-query network latency?
still has it's place in Apex
but without the lag
still consider the use of views....
...to stop multiple hits on the database
speaking of multiple db hits
and context switching between
consider validation sequence
don't execute your validation...
...if some errors have occurred already
just package your conditions
in case Oracle changes the behaviour
of these persistent variables
new topic time
let's do SQL related stuff for a bit
ever put CSS in your SQL?
want some reasons why?
some worthy thoughts on
page / application
first of all
you shouldn't really need to do this
hasn't Tom taught you to use
but if you
to use your own function
regardless of complexity
(or this can't be avoided)
it will probably be more applicable to your own functions
usage of the v function...
is more likely
to be found
in a package
but it's more preferable to parameterise:
because it helps...
which is why we're here today
and to stop bugs...
which is why you should be
familiar with this next function
because of weirdness like this...
but why does this happen?!
because the documentation says so
shall we go back to the page builder?
close your eyes ;-)
can increase number of
need to change SQL to change format
templates are there for this purpose
as is CSS
and item formatting attributes
have a think about caching your pages & regions
add regions used on
multiple pages here
with your condition based on a shared function
but don't use page numbers
use page alias
you can also reduce network traffic
correcting user entered data
before page submission
do I wait...
or do I give the user feedback
I'm running out of...
but back in sequence...
surely you don't ever take advice...
I know you know you should use this:
and not this:
this is probably more likely:
and that's ok.
because propensity for re-use in Apex
how about debugging?
Apex 4.0 brings much improvement
-- you may wish to add your own
or draw your own conclusion
it also pays to monitor your application
Weighted Page Views
or tune a 1 second page
Should I tune a 3 second page
that runs once a day?
that executes a thousand times a day?
= 90 seconds / month waiting
= 8 hours / month waiting
do you know what else the documentation says?
so use COALESCE instead of NVL
...and don't be afraid to be verbose
it's not always the SQL
this might be no good...
but this could save minutes
a number of factors can impact performance
phase of the moon
the motion sickness will wear off... momentarily.