SlideShare a Scribd company logo
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
‘n’ methods to improve Apex performance
Why stop at 10?
Scott Wesley
Systems Consultant & Trainer
who_am_i;
http://strategy2c.wordpress.com/2009/01/10/strategy-for-goldfish-funny-illustration-by-frits/
Agenda
• Introduction
• Prevention
• Fluff
• Diagnosis
• Fluff
• Time Management
• Fluff
• Conclusion
• Drinks
Larry Lessig?
the law is strangling creativity
http://www.ted.com/talks/larry_lessig_says_the_law_is_strangling_creativity.html
http://presentationzen.blogs.com/presentationzen/2005/10/the_lessig_meth.html
This presentation
what you can
explore
prevention - innovate
time management - educate
diagnosis - interact
not just Apex - maximise
prevention - innovate
time management - educate
diagnosis - interact
not just Apex - maximise
example
checkboxes
begin
<< chk >>
for i in 1.. apex_application.g_f20.count loop
update resources set deleted = 'Y'
where code = apex_application.g_f20(i);
end loop chk;
end;
begin
forall i in indices of apex_application.g_f20
update resources set deleted = 'Y'
where code = apex_application.g_f20(i);
end;
http://www.perthnow.com.au/sport/fremantle-defender-chris-tarrant-in-doubt-for-afl-
finals/story-e6frg1wu-1225899762230
move away from Oracle Forms (to Apex)
authentication
LDAP
FUNCTION return_ldap_groups
RETURN t_ldap_group PIPELINED;
CREATE OR REPLACE TYPE
r_ldap_group
AS OBJECT
(username VARCHAR2(100)
,group_name VARCHAR2(100))
/
CREATE OR REPLACE TYPE
t_ldap_group
AS TABLE OF r_ldap_group;
/
CREATE MATERIALIZED VIEW
mv_ldap_groups
REFRESH COMPLETE
START WITH SYSDATE
NEXT TRUNC(SYSDATE) + 1
AS
SELECT username, group_name
FROM TABLE(return_ldap_groups);
http://www.amazon.com/Pro-Oracle-Application-Express-ebook/dp/B001U0PFCC
authorisation
-- To populate application item
F_ADMIN_SCHEME
-- (preferably via perhaps
app_auth_pkg.post_authentication_process
app_auth_pkg.fn_admin_scheme(:APP_USER)
;
:F_ADMIN_SCHEME = 'Y'
conditions
pagination style
ajax methods
SELECT name d, org_id r
FROM organisations
START WITH parent_org_id =
:P12_PARENT_ORG_ID
CONNECT BY PRIOR org_id =
parent_org_id
ORDER BY 1
function getEmail(pUser) {
var get = new htmldb_Get(null,$v('pFlowId'),
'APPLICATION_PROCESS=GET_EMAIL',0);
get.addParam('x01',pUser);
gReturn = get.get();
json_SetItems(gReturn);
}
http://www.itworkedyesterday.com/blog/2010/2/23/apex_util-ready-set-json.html
post calculation computation
post query
REPLACE(:P1_EMAIL_LIST, ':', '<br>')
my_pkg.get_description(:P1_CODE)
bulk collects
<< email_loop >>
FOR r_rec IN
(SELECT email
FROM employees) LOOP
lc_emails := lc_emails
||r_rec.email
||',';
END LOOP email_loop;
lc_emails := RTRIM(lc_emails,',');
SELECT DISTINCT email
BULK COLLECT
INTO lt_emails
FROM employees;
lc_emails := apex_util.table_to_string
(p_table => lt_emails
,p_string => ',');
validation sequence
Apex_application.g_inline_validation_error_cnt = 0
CSS in SQL
SELECT emp_id
,'<b>'||ename||'</b>'
,salary
FROM emp
network traffic
-- Is the current page a help/contact popup/login
-- these pages don't need jquery, cancel page
calculations.
FUNCTION is_popup_page
RETURN BOOLEAN IS
BEGIN
RETURN wwv_flow.get_page_alias IN
('ITEMHELP' -- help popup
,'LOGIN' -- not a popup, but doesn't need dates
,'CONTACTS' -- contact manager popup
,'FINDSPP' -- SPP lookup
,'EMAIL' -- not worth cancelling to and doesn't need
jquery
,'EMAILSENT' -- closes in a few seconds
);
END is_popup_page;
javascript validation
#TIMING#
cache
http://forums.oracle.com/forums/thread.jspa?threadID=486516
deterministic functions
SELECT *
FROM my_table
WHERE my_column = v('MY_ITEM')
SELECT *
FROM my_table
WHERE my_column = :MY_ITEM
SELECT *
FROM my_table
WHERE my_column =
my_own_function(another_column)
SELECT *
FROM my_table
WHERE my_column = v('MY_ITEM')
SELECT *
FROM my_table
WHERE my_column = v('MY_ITEM')
From 10gR2
Pre Apex3.x
ie - Oracle XEpre-patch
CREATE OR REPLACE FUNCTION V
( p_item IN VARCHAR2
, p_flow IN NUMBER := NULL
, p_scope IN VARCHAR2 := 'SESSION_AND_USER'
, p_escape IN VARCHAR2 := 'N'
)
RETURN VARCHAR2 DETERMINISTIC
--==============================================================================
-- Wraps the existing APEX V function and adds the DETERMINISTIC optimizer hint
-- so that the function isn't called for each row the query engine is verifying.
-- See /2006/11/caution-when-using-plsql-functions-in.html
-- for details.
--==============================================================================
IS
BEGIN
RETURN FLOWS_020200.V
( p_item => p_item
, p_flow => p_flow
, p_scope => p_scope
, p_escape => p_escape
);
END V;
/
http://www.inside-oracle-apex.com/drop-in-replacement-for-v-and-nv-function/
SELECT *
FROM my_table
-- scalar subquery caching
WHERE my_column = (SELECT v('MY_ITEM') FROM DUAL)
http://www.oratechinfo.co.uk/scalar_subqueries.html
scalar subquery caching
implicit vs explicit conversion
To ensure your program does exactly what you expect, use explicit conversions wherever
possible.
create or replace function nv (
p_item in varchar2)
return number
-- Copyright (c) Oracle Corporation 1999. All
Rights Reserved.
--
-- DESCRIPTION
-- Function to return a numeric flow value.
V stands for value.
--
-- SECURITY
--
-- NOTES
--
is
begin
return to_number(v(p_item));
end nv;
/
select *
from organisations
where name = 123;
sequences
BEGIN
INSERT INTO my_table
(my_pk, ...
VALUES
(my_seq.NEXTVAL, ...);
END;
/
prevention – innovate
time management – educate
diagnosis - interact
not just Apex - maximise
PL/SQL APIs
create or replace package "PARTIES_API" is
--------------------------------------------------------------
-- create procedure for table "PARTIES"
procedure "INS_PARTIES" (...
--------------------------------------------------------------
-- update procedure for table "PARTIES"
procedure "UPD_PARTIES" (...
--------------------------------------------------------------
-- delete procedure for table "PARTIES"
procedure "DEL_PARTIES" (...
--------------------------------------------------------------
-- get procedure for table "PARTIES"
procedure "GET_PARTIES" (...
--------------------------------------------------------------
-- get procedure for table "PARTIES" including MD5
procedure "GET_PARTIES" (...
--------------------------------------------------------------
-- build MD5 function for table "PARTIES"
function "BUILD_PARTIES_MD5" (...
) return varchar2;
end "PARTIES_API";
merge vs insert/update
multi-table insert
BEGIN
INSERT INTO my_table
(my_pk, ...
VALUES
(my_seq.NEXTVAL, ...);
END;
/
BEGIN
INSERT INTO my_table
(my_pk, ...
VALUES
(fn_get_my_seq, ...);
END;
/
CREATE OR REPLACE TRIGGER
my_table_br_trg
BEFORE INSERT OR UPDATE ON
sage.my_table
FOR EACH ROW
BEGIN
IF :NEW.my_id IS NULL THEN
SELECT my_seq.NEXTVAL
INTO :NEW.my_id
FROM dual;
-- :NEW.my_id := my_seq.NEXTVAL ->
11g
END IF;
END;
/
re-use
shared components
page zero
copy object
ui defaults
subscriptions pl/sql packages
-- apex_application.g_inline_validation_error_cnt = 0
return my_pkg.run_validation
prevention - innovate
time management – educate
diagnosis – interact
not just Apex - maximise
apex_dml_lock_wait_time
debug mode
wwv_flow.debug('my debug information');
firebug
tracing
http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/debug.htm#BABGDGEH
http:/.../f?p=100:1&p_trace=YES
http://www.talkapex.com/2010/10/oracle-xe-and-apex-where-is-my-trace.html
show parameter USER_DUMP_DEST
jmeter
http://sagecomputing.com.au/presentations_sage_computing_services.html
http://one-size-doesnt-fit-all.blogspot.com/2010/05/configuring-apache-jmeter-for-apex.html
page performance
monitor activity
prevention - innovate
time management - educate
diagnosis - interact
not just Apex - maximise
short circuit evaluation
SELECT NVL(a_column
,expensive_fn(b_column)) my_column
FROM a_table;
SELECT COALESCE(a_column
,expensive_fn(b_column)) my_column
FROM a_table;
IF a != b
OR (a IS NULL AND b IS NOT NULL )
OR( a IS NOT NULL AND b IS NULL )
IF (COALESCE(a,-1) != COALESCE(b,-2))
IF NVL(a,-1) != NVL(b,-1)
queries
SELECT name, TO_CHAR(dt,'DD-MM-YYYY') dt, amt,
cum_amt -- Model results
FROM (
SELECT name, TRUNC(dt, 'MM') dt, SUM(amt) amt
FROM customer
GROUP BY name, TRUNC(dt, 'MM')
)
MODEL
PARTITION BY (name)
DIMENSION BY (dt)
MEASURES (amt, cast(NULL AS NUMBER) cum_amt) --
Define calculated col
IGNORE NAV
RULES SEQUENTIAL ORDER(
amt[FOR dt FROM TO_DATE('01-01-2007', 'DD-MM-
YYYY')
TO TO_DATE('01-12-2007', 'DD-MM-
YYYY')
INCREMENT NUMTOYMINTERVAL(1, 'MONTH')
] = amt[CV(dt)] -- Apply amt for given date,
if found
,cum_amt[ANY] = SUM(amt)[dt <= CV(dt)] --
Calculate cumulative
)
ORDER BY name, dt
/
remote database queries
small_table big_table
SELECT st.info, sum(bt.measure) total
FROM small_table st
JOIN big_table@remote_db bt
ON st.id = bt.id
SELECT /*+ DRIVING_SITE(bt) */
st.info, sum(bt.measure) total
FROM small_table st
JOIN big_table@remote_db bt
ON st.id = bt.id
experiment
database version
hardware
table size
statistics
phase of the moon
load
data distribution
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
Question time
Presentations are available from our website:
http://www.sagecomputing.com.au
enquiries@sagecomputing.com.au
scott.wesley@sagecomputing.com.au
http://triangle-circle-square.blogspot.com

More Related Content

What's hot

MERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known FacetsMERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known Facets
Andrej Pashchenko
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
Doug Gault
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
Vinay Kumar
 
Oracle APEX for Beginners
Oracle APEX for BeginnersOracle APEX for Beginners
Oracle APEX for Beginners
Dimitri Gielis
 
Exception handling
Exception handlingException handling
Exception handling
Anna Pietras
 
Oracle Fusion Cloud Payroll Costing Query
Oracle Fusion Cloud Payroll Costing QueryOracle Fusion Cloud Payroll Costing Query
Oracle Fusion Cloud Payroll Costing Query
Feras Ahmad
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
Dimitri Gielis
 
Oracle Fusion Cloud HCM Payroll Query
Oracle Fusion Cloud HCM Payroll QueryOracle Fusion Cloud HCM Payroll Query
Oracle Fusion Cloud HCM Payroll Query
Feras Ahmad
 
Reactjs
Reactjs Reactjs
Reactjs
Neha Sharma
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database Appliance
Maris Elsins
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?
Oliver Lemm
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
Omri Spector
 
TypeScript for Java Developers
TypeScript for Java DevelopersTypeScript for Java Developers
TypeScript for Java Developers
Yakov Fain
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)
Dimitri Gielis
 
Overview SQL Server 2019
Overview SQL Server 2019Overview SQL Server 2019
Overview SQL Server 2019
Juan Fabian
 
All payroll elements with eligibility Oracle Fusion Cloud
All payroll elements with eligibility Oracle Fusion CloudAll payroll elements with eligibility Oracle Fusion Cloud
All payroll elements with eligibility Oracle Fusion Cloud
Feras Ahmad
 
JDBC
JDBCJDBC
JDBC
Sunil OS
 
Query all roles and duties and privileges Oracle Fusion Cloud
Query all roles and duties and privileges Oracle Fusion CloudQuery all roles and duties and privileges Oracle Fusion Cloud
Query all roles and duties and privileges Oracle Fusion Cloud
Feras Ahmad
 
Most frequently used sq ls for a list of values
Most frequently used sq ls for a list of valuesMost frequently used sq ls for a list of values
Most frequently used sq ls for a list of values
Feras Ahmad
 
Oracle apex training
Oracle apex trainingOracle apex training
Oracle apex training
Vasudha India
 

What's hot (20)

MERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known FacetsMERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known Facets
 
Oracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDSOracle Office Hours - Exposing REST services with APEX and ORDS
Oracle Office Hours - Exposing REST services with APEX and ORDS
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
Oracle APEX for Beginners
Oracle APEX for BeginnersOracle APEX for Beginners
Oracle APEX for Beginners
 
Exception handling
Exception handlingException handling
Exception handling
 
Oracle Fusion Cloud Payroll Costing Query
Oracle Fusion Cloud Payroll Costing QueryOracle Fusion Cloud Payroll Costing Query
Oracle Fusion Cloud Payroll Costing Query
 
How to make APEX print through Node.js
How to make APEX print through Node.jsHow to make APEX print through Node.js
How to make APEX print through Node.js
 
Oracle Fusion Cloud HCM Payroll Query
Oracle Fusion Cloud HCM Payroll QueryOracle Fusion Cloud HCM Payroll Query
Oracle Fusion Cloud HCM Payroll Query
 
Reactjs
Reactjs Reactjs
Reactjs
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database Appliance
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?
 
Building a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring BootBuilding a REST Service in minutes with Spring Boot
Building a REST Service in minutes with Spring Boot
 
TypeScript for Java Developers
TypeScript for Java DevelopersTypeScript for Java Developers
TypeScript for Java Developers
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)
 
Overview SQL Server 2019
Overview SQL Server 2019Overview SQL Server 2019
Overview SQL Server 2019
 
All payroll elements with eligibility Oracle Fusion Cloud
All payroll elements with eligibility Oracle Fusion CloudAll payroll elements with eligibility Oracle Fusion Cloud
All payroll elements with eligibility Oracle Fusion Cloud
 
JDBC
JDBCJDBC
JDBC
 
Query all roles and duties and privileges Oracle Fusion Cloud
Query all roles and duties and privileges Oracle Fusion CloudQuery all roles and duties and privileges Oracle Fusion Cloud
Query all roles and duties and privileges Oracle Fusion Cloud
 
Most frequently used sq ls for a list of values
Most frequently used sq ls for a list of valuesMost frequently used sq ls for a list of values
Most frequently used sq ls for a list of values
 
Oracle apex training
Oracle apex trainingOracle apex training
Oracle apex training
 

Viewers also liked

Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal theme
Roel Hartman
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance Issues
Roel Hartman
 
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEXLOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEXEnkitec
 
Oracle Text in APEX
Oracle Text in APEXOracle Text in APEX
Oracle Text in APEX
Scott Wesley
 
Striving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application ArchitectureStriving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application Architecture
Roel Hartman
 
My Top 5 APEX JavaScript API's
My Top 5 APEX JavaScript API'sMy Top 5 APEX JavaScript API's
My Top 5 APEX JavaScript API's
Roel Hartman
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool Choice
Sten Vesterli
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX Applications
Roel Hartman
 
Oracle PL/SQL Bulk binds
Oracle PL/SQL Bulk bindsOracle PL/SQL Bulk binds
Oracle PL/SQL Bulk binds
Scott Wesley
 
Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Gill Cleeren
 
Oracle EBS R12.1.3_Installation_linux(64bit)_Pan_Tian
Oracle EBS R12.1.3_Installation_linux(64bit)_Pan_TianOracle EBS R12.1.3_Installation_linux(64bit)_Pan_Tian
Oracle EBS R12.1.3_Installation_linux(64bit)_Pan_Tian
Pan Tian
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)
Christian Rokitta
 
APEX Security 101
APEX Security 101APEX Security 101
APEX Security 101
Dimitri Gielis
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle Forms
Roel Hartman
 
Apex RnD APEX 5 - Printing
Apex RnD APEX 5 - PrintingApex RnD APEX 5 - Printing
Apex RnD APEX 5 - Printing
Lino Schildenfeld
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0
Rinie Romme
 
APEX Wearables
APEX WearablesAPEX Wearables
APEX Wearables
Dimitri Gielis
 
APEX Dashboard Competition - Winners
APEX Dashboard Competition - WinnersAPEX Dashboard Competition - Winners
APEX Dashboard Competition - Winners
Tobias Arnhold
 
Apex day 1.0 oracle apex 5.0 patrick wolf
Apex day 1.0 oracle apex 5.0 patrick wolfApex day 1.0 oracle apex 5.0 patrick wolf
Apex day 1.0 oracle apex 5.0 patrick wolf
APEX Solutions - Natural Intelligence
 
5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX
Roel Hartman
 

Viewers also liked (20)

Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal theme
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance Issues
 
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEXLOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
LOBS, BLOBS, CLOBS: Dealing with Attachments in APEX
 
Oracle Text in APEX
Oracle Text in APEXOracle Text in APEX
Oracle Text in APEX
 
Striving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application ArchitectureStriving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application Architecture
 
My Top 5 APEX JavaScript API's
My Top 5 APEX JavaScript API'sMy Top 5 APEX JavaScript API's
My Top 5 APEX JavaScript API's
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool Choice
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX Applications
 
Oracle PL/SQL Bulk binds
Oracle PL/SQL Bulk bindsOracle PL/SQL Bulk binds
Oracle PL/SQL Bulk binds
 
Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!
 
Oracle EBS R12.1.3_Installation_linux(64bit)_Pan_Tian
Oracle EBS R12.1.3_Installation_linux(64bit)_Pan_TianOracle EBS R12.1.3_Installation_linux(64bit)_Pan_Tian
Oracle EBS R12.1.3_Installation_linux(64bit)_Pan_Tian
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)
 
APEX Security 101
APEX Security 101APEX Security 101
APEX Security 101
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle Forms
 
Apex RnD APEX 5 - Printing
Apex RnD APEX 5 - PrintingApex RnD APEX 5 - Printing
Apex RnD APEX 5 - Printing
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0
 
APEX Wearables
APEX WearablesAPEX Wearables
APEX Wearables
 
APEX Dashboard Competition - Winners
APEX Dashboard Competition - WinnersAPEX Dashboard Competition - Winners
APEX Dashboard Competition - Winners
 
Apex day 1.0 oracle apex 5.0 patrick wolf
Apex day 1.0 oracle apex 5.0 patrick wolfApex day 1.0 oracle apex 5.0 patrick wolf
Apex day 1.0 oracle apex 5.0 patrick wolf
 
5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX
 

Similar to Oracle APEX Performance

Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
InSync Conference
 
Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013
Michelangelo van Dam
 
Workshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - phpbelfastWorkshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - phpbelfast
Michelangelo van Dam
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedure
ftz 420
 
Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12
Michelangelo van Dam
 
SQL Tracing
SQL TracingSQL Tracing
SQL Tracing
Hemant K Chitale
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAmin Uddin
 
Ch ch-changes cake php2
Ch ch-changes cake php2Ch ch-changes cake php2
Ch ch-changes cake php2
markstory
 
Curso Symfony - Clase 2
Curso Symfony - Clase 2Curso Symfony - Clase 2
Curso Symfony - Clase 2
Javier Eguiluz
 
Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8
Michelangelo van Dam
 
Intro to Laravel 4
Intro to Laravel 4Intro to Laravel 4
Intro to Laravel 4
Singapore PHP User Group
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy
 
Sydney Oracle Meetup - execution plans
Sydney Oracle Meetup - execution plansSydney Oracle Meetup - execution plans
Sydney Oracle Meetup - execution planspaulguerin
 
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node jsBonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Francois Zaninotto
 
MySQL crash course by moshe kaplan
MySQL crash course by moshe kaplanMySQL crash course by moshe kaplan
MySQL crash course by moshe kaplan
Moshe Kaplan
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Lindsay Holmwood
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
Alex Zaballa
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
Alex Zaballa
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
Alex Zaballa
 
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
andrewnacin
 

Similar to Oracle APEX Performance (20)

Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
 
Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013
 
Workshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - phpbelfastWorkshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - phpbelfast
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedure
 
Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12
 
SQL Tracing
SQL TracingSQL Tracing
SQL Tracing
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
 
Ch ch-changes cake php2
Ch ch-changes cake php2Ch ch-changes cake php2
Ch ch-changes cake php2
 
Curso Symfony - Clase 2
Curso Symfony - Clase 2Curso Symfony - Clase 2
Curso Symfony - Clase 2
 
Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8
 
Intro to Laravel 4
Intro to Laravel 4Intro to Laravel 4
Intro to Laravel 4
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
Sydney Oracle Meetup - execution plans
Sydney Oracle Meetup - execution plansSydney Oracle Meetup - execution plans
Sydney Oracle Meetup - execution plans
 
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node jsBonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
 
MySQL crash course by moshe kaplan
MySQL crash course by moshe kaplanMySQL crash course by moshe kaplan
MySQL crash course by moshe kaplan
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
 
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
 

Recently uploaded

原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
u86oixdj
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
balafet
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
pchutichetpong
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTESAdjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
2023240532
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 

Recently uploaded (20)

原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
原版制作(swinburne毕业证书)斯威本科技大学毕业证毕业完成信一模一样
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
Data Centers - Striving Within A Narrow Range - Research Report - MCG - May 2...
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTESAdjusting OpenMP PageRank : SHORT REPORT / NOTES
Adjusting OpenMP PageRank : SHORT REPORT / NOTES
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...
 
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 

Oracle APEX Performance

Editor's Notes

  1. Scott from Sage – Consultant &amp; TrainerWorking with Apex for the last few years
  2. Scott from Sage – Consultant &amp; TrainerWorking with Apex for the last few years
  3. Scott from Sage – Consultant &amp; TrainerWorking with Apex for the last few years
  4. Scott from Sage – Consultant &amp; TrainerWorking with Apex for the last few years
  5. The ubiquitous slide – not today
  6. Who’s style was pretty much innovated by LarryWho’s heard of him?
  7. This is the general breakdown of my presentation
  8. Starting with prevention – it’s better than a cure, right?
  9. Start with simple example
  10. We always see this example
  11. Why not do it like this? Use bulk binding
  12. There’s going to be no massive winsWait – what’s the problem with this picture, isn’t parsec a measurement of distance? Damn pop culture
  13. If you defer security group membership to an LDAP server, you may wish to consider
  14. ... Creating a pipelined function returning information from LDAP about your groups
  15. Which would be based on database types such as these
  16. Then you could create a snapshot based on your LDAP information – instead of a manual PL/SQL synching processA guide to this concept is documented in this book by my namesakes – John Edward Scott &amp; Scott Spendolini
  17. Consider if you need to evaluate membership for each page, or just once
  18. Perhaps (particularly if you have multiple schemes) populate application items during post authentication
  19. And refer to this item in your conditions – makes things more consistent
  20. Do you really need conditions that run SQL?Is your SQL efficient?
  21. In addition to PPR, where in your app might it be useful to avoid entire page submission?Apex 4 makes cascading LOVs easy
  22. Or maybe try some forms style item validation
  23. Remember this evil?
  24. While we eliminate network lag because we’re all on the db, you may still want to question behaviour. This is acceptable
  25. You may wish to consider an key-preserved / updateable view if things like this get out of control
  26. Put the more efficient validations first – maybe don’t do expensive ones if fundament errors found
  27. This can increase number of hard parses
  28. It’s what they’re designed for, utilise your CSS classesFrom managing your development, wrapping your head around CSS concepts will save you time in future anyway
  29. Does your application / page need this?
  30. Does every page need your custom widgets?
  31. This is where you can really utilise page zero to turn components on &amp; off
  32. I put this sort of thing in the condition
  33. Speed of responseReduce server loadSend only valid dataReduce network traffic
  34. There are plenty of APIs to help you out
  35. First of all, you shouldn’t really need to do this
  36. You should be doing this
  37. But if you’re referring to your own function, regardless of complexity
  38. Or you do have this...
  39. More likely within PL/SQL package
  40. Deterministic functions optimised from
  41. But if you are working with
  42. Such as basic install
  43. Then you may wishto consider this
  44. Or the most simplistic works on all versions from 9i – check out a great outline hereCould talk for hours just about this, but I won’t.
  45. Remember this term
  46. I can’t go by without mentioning I’m always hammering trainees about this
  47. Straight from PL/SQL Users guide and reference
  48. Don’t forget about this function
  49. Because oracle might make some weird decisions if you leave data-type conversions up to it
  50. Which is a segue onto the next topic
  51. Best practices for apex developers, help reduce coding/maintenance time
  52. You may also like to consider
  53. One movement is always better
  54. So APIs could facilitate this usage
  55. Don’t over accessorise
  56. At least do it via a trigger, in Apex environment – it’s only as fast as user can click anyway
  57. Opportunities for re-use all around
  58. Something everyone can do in even the simplest of applications – put your code in packages!Centralising code can say yourself time in the long run
  59. You’ve come across something nasty, what do you do?
  60. First of all, there may not be a problem – “my app is hanging”
  61. Don’t let you’re user wait. Apex uses optimistic locking, this says how many seconds the user should wait instead of the default – infinitumThis also removes a potential security issue (DOS)
  62. In apex 4 debug got a whole load prettier
  63. Perhaps you’d like to add your own debug information
  64. Be aware of the options you have to turn on tracinghttp:/.../f?p=100:1&amp;p_trace=YES
  65. and how to find your trace file, then tkprof itshow parameter USER_DUMP_DESTtkprof filename1 filename2 [waits=yes|no] [sort=option] [print=n] [aggregate=yes|no] [insert=filename3] [sys=yes|no] [table=schema.table] [explain=user/password] [record=filename4] [width=n]
  66. Performance testing tool over many server types.Visit Chris tomorrow and have a chat to him about it.Or come by the Sage booth
  67. Find which pages are the most expensive to runWeighted – don’t care about random page opened once a month, consider page views
  68. Application level more granular
  69. Or you could look at page/session level to find outliers, errors
  70. Performance solutions aren’t just Apex related features, database level
  71. Check to see you’re queries are tuned – may not be apex’s fault. (nothing wrong with this one – just looks scary ;-)
  72. It can really depend… how long is a piece of string
  73. I counted 32 tips…