Tune up your APEX

38
Tune Up Your APEX Oliver Lemm Competence Center Leiter APEX Nürnberg, 20.11.2014

Transcript of Tune up your APEX

Page 1: Tune up your APEX

|

Tune Up Your APEX

Oliver Lemm

Competence Center Leiter APEX

Nürnberg, 20.11.2014

Page 2: Tune up your APEX

|

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

Page 3: Tune up your APEX

|

ü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

Page 4: Tune up your APEX

| |

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

Page 5: Tune up your APEX

| |

Grundlagen

DOAG 2014 - Tune Up Your APEX 5

Page 6: Tune up your APEX

|

Grundlagen

Performance abhängig von

- Verbindung

- Browser

- Client

- Server

Datenbank

Webserver

- JavaScript

- PL/SQL & SQL

- APEX Komponenten

DOAG 2014 - Tune Up Your APEX 6

Page 7: Tune up your APEX

| |

Die Technik

DOAG 2014 - Tune Up Your APEX 7

Page 8: Tune up your APEX

|

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

Page 9: Tune up your APEX

|

Die Technik – Architektur - ORDS

APEX Listener

=

Oracle REST Data Services

(ORDS)

wichtige Einstellungen

DOAG 2014 - Tune Up Your APEX 9

Page 10: Tune up your APEX

|

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

Page 11: Tune up your APEX

| |

Statistiken & Debugging

APEX Roadshow – Tune Up Your APEX 11

Page 12: Tune up your APEX

|

Statistiken & Debugging

DOAG 2014 - Tune Up Your APEX 12

Page 13: Tune up your APEX

|

Statistiken

DOAG 2014 - Tune Up Your APEX 13

Page 14: Tune up your APEX

|

Debug

DOAG 2014 - Tune Up Your APEX 14

Page 15: Tune up your APEX

|

DOAG 2014 - Tune Up Your APEX 15

Page 16: Tune up your APEX

|

Debug

Allgemeine Aktivierung des Debug

Debugging für AJAX Calls

DOAG 2014 - Tune Up Your APEX 16

Shared Components – Edit Definition – Security Attributes

Page 17: Tune up your APEX

| |

APEX & PL/SQL & SQL tuning

DOAG 2014 - Tune Up Your APEX 17

Page 18: Tune up your APEX

|

APEX – Dynamic Actions

DOAG 2014 - Tune Up Your APEX 18

Asynchron – „blockiert nicht“

Synchron – „wartet auf Antwort“ / blockiert

Page 19: Tune up your APEX

|

APEX - Conditions

Dynamic Action

- Hide vs Condition

APEX_Application.g_edit_cookie_session_id IS NOT NULL

DOAG 2014 - Tune Up Your APEX 19

Page 20: Tune up your APEX

|

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

Page 21: Tune up your APEX

|

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

Page 22: Tune up your APEX

|

PL/SQL

Temporary Table

- Achtung => pro Session!

Materilized View

- Achtung => welche Aktualität

DOAG 2014 - Tune Up Your APEX 22

Page 23: Tune up your APEX

|

PLSQL - deterministic

DOAG 2014 - Tune Up Your APEX 23

Page 24: Tune up your APEX

|

PLSQL – Result_Cache

DOAG 2014 - Tune Up Your APEX 24

Page 25: Tune up your APEX

|

PLSQL – Table Functions

DOAG 2014 - Tune Up Your APEX 25

Page 26: Tune up your APEX

|

SQL/PLSQL – plsqlDeveloper - Profiler

DOAG 2014 - Tune Up Your APEX 26

Page 27: Tune up your APEX

|

SQL - Execution Plan

DOAG 2014 - Tune Up Your APEX 27

Page 28: Tune up your APEX

|

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

Page 29: Tune up your APEX

| |

JavaScript & statische Dateien

DOAG 2014 - Tune Up Your APEX 29

Page 30: Tune up your APEX

|

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

Page 31: Tune up your APEX

| | DOAG 2014 - Tune Up Your APEX 31

Weiterführende Links

Page 32: Tune up your APEX

|

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

Page 33: Tune up your APEX

|

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

Page 35: Tune up your APEX

| |

Fazit

DOAG 2014 - Tune Up Your APEX 35

Page 36: Tune up your APEX

|

Weiße Folien für den eigentlichen Vortrag

DOAG Konferenz 2014 36

Page 37: Tune up your APEX

| DOAG Konferenz 2014 37

apexmeetups.com

Page 38: Tune up your APEX

|

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: [email protected]

www.mt-ag.com