| 
Tune Up Your APEX 
Oliver Lemm 
Competence Center Leiter APEX 
Nürnberg, 20.11.2014
| 
UNSER PORTFOLIO 
BUSINESS INTELLIGENCE SOLUTIONS 
SOCIAL BUSINESS SOLUTIONS 
MOBILE 
SOLUTIONS 
APPLICATION DEVELOPMENT 
INTEGRATION SERVICES 
IT SYSTEM SERVICES 
DATA INTEGRATION 
SELF SERVICE BI 
MOBILE BI 
COLLABORATION 
SEARCH 
SOCIAL 
APPS ABLÄUFE LOKALISIERUNG 
APEX / ADF 
JAVA 
.NET 
STRATEGIE 
ARCHITEKTUR 
SAP HANA 
MANAGED SERVICES 
BETRIEB 
MIGRATION 
DOAG 2014 - Five Fingers Death Punch 
2
| 
über mich 
Oliver Lemm 
seit 02.2007 bei der MT AG in Ratingen 
-Junior Berater > Berater > Senior Berater > Competence Center Leiter 
Diplom Angewandte Informatik an der Universität Duisburg-Essen 
IT-Architekt und Entwickler im Bereich 
Beschäftigt sich seit 2007 kontinuierlich mit dem Produkt 
Blog http://oliverlemm.blogspot.de 
Twitter https://twitter.com/OliverLemm 
DOAG 2014 - Tune Up Your APEX 
3
| 
Agenda 
DOAG 2014 - Tune Up Your APEX 
1.Grundlagen 
2.Die Technik 
3.Statistiken & Debugging 
4.PL/SQL & SQL tuning 
5.JavaScript & statische Dateien 
6.Fazit 
4
| 
Grundlagen 
DOAG 2014 - Tune Up Your APEX 
5
| 
Grundlagen 
Performance abhängig von 
-Verbindung 
-Browser 
-Client 
-Server 
Datenbank 
Webserver 
-JavaScript 
-PL/SQL & SQL 
-APEX Komponenten 
DOAG 2014 - Tune Up Your APEX 
6
| 
Die Technik 
DOAG 2014 - Tune Up Your APEX 
7
| 
Die Technik – Architektur – mod_plsql 
meist benutzt „bisher“ Oracle HTTP Server (OHS) mit mod_plsql 
OHS = alte Version des Apache Webserver 
DOAG 2014 - Tune Up Your APEX 
8
| 
Die Technik – Architektur - ORDS 
APEX Listener = Oracle REST Data Services (ORDS) 
wichtige Einstellungen 
DOAG 2014 - Tune Up Your APEX 
9
| 
Die Technik - Seitenaufbau 
Metadaten getrieben 
dynamischer Aufbau 
Seitenaufbau: 
-Page Rendering der aktuellen Seite 
-Page Rendering der Global Page des User Interface (Seite 0) 
-Application Processes (On Load & On Demand) 
DOAG 2014 - Tune Up Your APEX 
10
| 
Statistiken & Debugging 
APEX Roadshow – Tune Up Your APEX 
11
| 
Statistiken & Debugging 
DOAG 2014 - Tune Up Your APEX 
12
| 
Statistiken 
DOAG 2014 - Tune Up Your APEX 
13
| 
Debug 
DOAG 2014 - Tune Up Your APEX 
14
| 
DOAG 2014 - Tune Up Your APEX 
15
| 
Debug 
Allgemeine Aktivierung des Debug 
Debugging für AJAX Calls 
DOAG 2014 - Tune Up Your APEX 
16 
Shared Components – Edit Definition – Security Attributes
| 
APEX & PL/SQL & SQL tuning 
DOAG 2014 - Tune Up Your APEX 
17
| 
APEX – Dynamic Actions 
DOAG 2014 - Tune Up Your APEX 
18 
Asynchron – „blockiert nicht“ 
Synchron – „wartet auf Antwort“ / blockiert
| 
APEX - Conditions 
Dynamic Action 
-Hide vs Condition 
APEX_Application.g_edit_cookie_session_id IS NOT NULL 
DOAG 2014 - Tune Up Your APEX 
19
| 
APEX – Conditions - Performanz 
1.Never 
2.Deklarativ auf Element / Application Item 
1.Item NULL / NOT NULL 
2.Value of Item …. 
3.Request = / != 
4.Current Page 
3.PLSQL 
1.Returning Boolean 
2.Expression 
4.SQL 
1.SQL Expression 
2.Exists / Not exists 
DOAG 2014 - Tune Up Your APEX 
20
| 
APEX 
Interactive Reports 
-Features eingrenzen 
-Max Row Count 
-Pagination 
-Collections 
Item Syntax 
-V(‘P5_TEXT‘) => „nur als Notlösung“ 
-:P5_TEXT => PLSQL & SQL 
-&P5_TEXT. => HTML & JavaScript 
-#P5_TEXT# => Tabular Forms / Reports 
-$v(‘P5_TEXT‘) => jQuery / JavaScript 
DOAG 2014 - Tune Up Your APEX 
21
| 
PL/SQL 
Temporary Table 
-Achtung => pro Session! 
Materilized View 
-Achtung => welche Aktualität 
DOAG 2014 - Tune Up Your APEX 
22
| 
PLSQL - deterministic 
DOAG 2014 - Tune Up Your APEX 
23
| 
PLSQL – Result_Cache 
DOAG 2014 - Tune Up Your APEX 
24
| 
PLSQL – Table Functions 
DOAG 2014 - Tune Up Your APEX 
25
| 
SQL/PLSQL – plsqlDeveloper - Profiler 
DOAG 2014 - Tune Up Your APEX 
26
| 
SQL - Execution Plan 
DOAG 2014 - Tune Up Your APEX 
27
| 
SQL 
Optimierungsmethoden 
-Abfrage optimieren 
In statt exists oder count 
Subselects statt join 
-Index hinzufügen 
Abdeckung der passenden Spalten 
Achtung wegen NULL Werten 
Reihenfolge relevant 
-Not Null Constraints 
-Partitionierung 
DOAG 2014 - Tune Up Your APEX 
28
| 
JavaScript & statische Dateien 
DOAG 2014 - Tune Up Your APEX 
29
| 
Static Files 
Dateien auf Filesystem 
-Caching & Kompression 
Dateien in APEX 
-Bis 4.2 
separat exportieren 
löschen bei Ersetzen von Dateien nötig 
-Ab 5 
Pfade durch „Version“ im Pfad invalidieren Cache 
Caching als Static Files verbessert 
DOAG 2014 - Tune Up Your APEX 
30
| 
DOAG 2014 - Tune Up Your APEX 
31 
Weiterführende Links
| 
Links – oracle.com (englisch) 
Oracle Application Express – Performance @ oracle.com 
-Identifizierung, Activity Logs & Monitoring, Database Reporting, Database Configuration, Limiting Resources, Web Server 
Sizing Up Performance – Mike Hichwa (2007) 
You don't lack APEX skills.....you lack Oracle skills – Joel Kallman (2013) 
High CPU Waits and SQL from Oracle APEX – Joel Kallmann (2011) 
DOAG 2014 - Tune Up Your APEX 
32
| 
Links – apex.oracle.com (deutsch) 
Deutschsprachige APEX und PL/SQL Community 
-SQL, PL/SQL und Skripting 
APEX-Debugging voll ausnutzen mit APEX_DEBUG 
SQL LIKE: Performance, Case- und Umlaut-Insensitive Suche 
Schnellere Abfragen und Berichte mit Oracle11g und dem Result Cache 
-Verschiedenes 
Real Time SQL Monitor 
Debugging mit dem SQL Developer 
Tracing, Diagnose und Tuning in APEX-Anwendungen: Tracing 
DOAG 2014 - Tune Up Your APEX 
33
| 
Links - Community 
n Methods to improve APEX Performance – Scott Wesley 
Performance of APEX Validations – Scott Wesley 
DOAG 2014 - Tune Up Your APEX 
34
| 
Fazit 
DOAG 2014 - Tune Up Your APEX 
35
| 
Weiße Folien für den eigentlichen Vortrag 
DOAG Konferenz 2014 
36
| 
DOAG Konferenz 2014 
37 
apexmeetups.com
| 
Vielen Dank… 
Oliver Lemm 
Competence Center Leiter APEX 
Telefon: +49 (0) 21 02 309 61-0 
Telefax: +49 (0) 21 02 309 61-101 
E-Mail: oliver.lemm@mt-ag.com 
www.mt-ag.com

Tune up your APEX

  • 1.
    | Tune UpYour APEX Oliver Lemm Competence Center Leiter APEX Nürnberg, 20.11.2014
  • 2.
    | UNSER PORTFOLIO BUSINESS INTELLIGENCE SOLUTIONS SOCIAL BUSINESS SOLUTIONS MOBILE SOLUTIONS APPLICATION DEVELOPMENT INTEGRATION SERVICES IT SYSTEM SERVICES DATA INTEGRATION SELF SERVICE BI MOBILE BI COLLABORATION SEARCH SOCIAL APPS ABLÄUFE LOKALISIERUNG APEX / ADF JAVA .NET STRATEGIE ARCHITEKTUR SAP HANA MANAGED SERVICES BETRIEB MIGRATION DOAG 2014 - Five Fingers Death Punch 2
  • 3.
    | über mich Oliver Lemm seit 02.2007 bei der MT AG in Ratingen -Junior Berater > Berater > Senior Berater > Competence Center Leiter Diplom Angewandte Informatik an der Universität Duisburg-Essen IT-Architekt und Entwickler im Bereich Beschäftigt sich seit 2007 kontinuierlich mit dem Produkt Blog http://oliverlemm.blogspot.de Twitter https://twitter.com/OliverLemm DOAG 2014 - Tune Up Your APEX 3
  • 4.
    | Agenda DOAG2014 - Tune Up Your APEX 1.Grundlagen 2.Die Technik 3.Statistiken & Debugging 4.PL/SQL & SQL tuning 5.JavaScript & statische Dateien 6.Fazit 4
  • 5.
    | Grundlagen DOAG2014 - Tune Up Your APEX 5
  • 6.
    | Grundlagen Performanceabhängig von -Verbindung -Browser -Client -Server Datenbank Webserver -JavaScript -PL/SQL & SQL -APEX Komponenten DOAG 2014 - Tune Up Your APEX 6
  • 7.
    | Die Technik DOAG 2014 - Tune Up Your APEX 7
  • 8.
    | Die Technik– Architektur – mod_plsql meist benutzt „bisher“ Oracle HTTP Server (OHS) mit mod_plsql OHS = alte Version des Apache Webserver DOAG 2014 - Tune Up Your APEX 8
  • 9.
    | Die Technik– Architektur - ORDS APEX Listener = Oracle REST Data Services (ORDS) wichtige Einstellungen DOAG 2014 - Tune Up Your APEX 9
  • 10.
    | Die Technik- Seitenaufbau Metadaten getrieben dynamischer Aufbau Seitenaufbau: -Page Rendering der aktuellen Seite -Page Rendering der Global Page des User Interface (Seite 0) -Application Processes (On Load & On Demand) DOAG 2014 - Tune Up Your APEX 10
  • 11.
    | Statistiken &Debugging APEX Roadshow – Tune Up Your APEX 11
  • 12.
    | Statistiken &Debugging DOAG 2014 - Tune Up Your APEX 12
  • 13.
    | Statistiken DOAG2014 - Tune Up Your APEX 13
  • 14.
    | Debug DOAG2014 - Tune Up Your APEX 14
  • 15.
    | DOAG 2014- Tune Up Your APEX 15
  • 16.
    | Debug AllgemeineAktivierung des Debug Debugging für AJAX Calls DOAG 2014 - Tune Up Your APEX 16 Shared Components – Edit Definition – Security Attributes
  • 17.
    | APEX &PL/SQL & SQL tuning DOAG 2014 - Tune Up Your APEX 17
  • 18.
    | APEX –Dynamic Actions DOAG 2014 - Tune Up Your APEX 18 Asynchron – „blockiert nicht“ Synchron – „wartet auf Antwort“ / blockiert
  • 19.
    | APEX -Conditions Dynamic Action -Hide vs Condition APEX_Application.g_edit_cookie_session_id IS NOT NULL DOAG 2014 - Tune Up Your APEX 19
  • 20.
    | APEX –Conditions - Performanz 1.Never 2.Deklarativ auf Element / Application Item 1.Item NULL / NOT NULL 2.Value of Item …. 3.Request = / != 4.Current Page 3.PLSQL 1.Returning Boolean 2.Expression 4.SQL 1.SQL Expression 2.Exists / Not exists DOAG 2014 - Tune Up Your APEX 20
  • 21.
    | APEX InteractiveReports -Features eingrenzen -Max Row Count -Pagination -Collections Item Syntax -V(‘P5_TEXT‘) => „nur als Notlösung“ -:P5_TEXT => PLSQL & SQL -&P5_TEXT. => HTML & JavaScript -#P5_TEXT# => Tabular Forms / Reports -$v(‘P5_TEXT‘) => jQuery / JavaScript DOAG 2014 - Tune Up Your APEX 21
  • 22.
    | PL/SQL TemporaryTable -Achtung => pro Session! Materilized View -Achtung => welche Aktualität DOAG 2014 - Tune Up Your APEX 22
  • 23.
    | PLSQL -deterministic DOAG 2014 - Tune Up Your APEX 23
  • 24.
    | PLSQL –Result_Cache DOAG 2014 - Tune Up Your APEX 24
  • 25.
    | PLSQL –Table Functions DOAG 2014 - Tune Up Your APEX 25
  • 26.
    | SQL/PLSQL –plsqlDeveloper - Profiler DOAG 2014 - Tune Up Your APEX 26
  • 27.
    | SQL -Execution Plan DOAG 2014 - Tune Up Your APEX 27
  • 28.
    | SQL Optimierungsmethoden -Abfrage optimieren In statt exists oder count Subselects statt join -Index hinzufügen Abdeckung der passenden Spalten Achtung wegen NULL Werten Reihenfolge relevant -Not Null Constraints -Partitionierung DOAG 2014 - Tune Up Your APEX 28
  • 29.
    | JavaScript &statische Dateien DOAG 2014 - Tune Up Your APEX 29
  • 30.
    | Static Files Dateien auf Filesystem -Caching & Kompression Dateien in APEX -Bis 4.2 separat exportieren löschen bei Ersetzen von Dateien nötig -Ab 5 Pfade durch „Version“ im Pfad invalidieren Cache Caching als Static Files verbessert DOAG 2014 - Tune Up Your APEX 30
  • 31.
    | DOAG 2014- Tune Up Your APEX 31 Weiterführende Links
  • 32.
    | Links –oracle.com (englisch) Oracle Application Express – Performance @ oracle.com -Identifizierung, Activity Logs & Monitoring, Database Reporting, Database Configuration, Limiting Resources, Web Server Sizing Up Performance – Mike Hichwa (2007) You don't lack APEX skills.....you lack Oracle skills – Joel Kallman (2013) High CPU Waits and SQL from Oracle APEX – Joel Kallmann (2011) DOAG 2014 - Tune Up Your APEX 32
  • 33.
    | Links –apex.oracle.com (deutsch) Deutschsprachige APEX und PL/SQL Community -SQL, PL/SQL und Skripting APEX-Debugging voll ausnutzen mit APEX_DEBUG SQL LIKE: Performance, Case- und Umlaut-Insensitive Suche Schnellere Abfragen und Berichte mit Oracle11g und dem Result Cache -Verschiedenes Real Time SQL Monitor Debugging mit dem SQL Developer Tracing, Diagnose und Tuning in APEX-Anwendungen: Tracing DOAG 2014 - Tune Up Your APEX 33
  • 34.
    | Links -Community n Methods to improve APEX Performance – Scott Wesley Performance of APEX Validations – Scott Wesley DOAG 2014 - Tune Up Your APEX 34
  • 35.
    | Fazit DOAG2014 - Tune Up Your APEX 35
  • 36.
    | Weiße Folienfür den eigentlichen Vortrag DOAG Konferenz 2014 36
  • 37.
    | DOAG Konferenz2014 37 apexmeetups.com
  • 38.
    | Vielen Dank… Oliver Lemm Competence Center Leiter APEX Telefon: +49 (0) 21 02 309 61-0 Telefax: +49 (0) 21 02 309 61-101 E-Mail: oliver.lemm@mt-ag.com www.mt-ag.com