Tune up your APEX

Preview:

Citation preview

|

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

| |

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