Cursus performance tuning voor ontwikkelaars 26 januari 2006 “De beste manier om een query te verbeteren, is door hem niet uit te voeren.”

Slides:



Advertisements
Verwante presentaties
Versiebeheer Repository Invantive Producer Afstudeerstage Wouter Vos 1.
Advertisements

Hoe werkt een rekenmachine?
Applicatieplatform congres 12 & 13 maart
Water verwarming door aarde
Hoe SQL injection werkt
Installatie & beheer Jonathan Mohnen Martijn Wolfs.
Datamodellering en –verwerking 8C020 college 5. Terugblik college 4 • Zeikenhuis (RM) • Querytalen • SQL – Inleiding – Data definitie – Data manipulatie.
Datawarehousing in het groot
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Martijn Berghs: Vista Gadget Sacha Vandekerckhove: lector programma (VB 2005) Stijn Bienkens en Alessandro Pluchino : webservice (Java) Project voorstelling.
1 SQL Model Clausule 28 november 2006 Rob van Wijk.
1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Inleiding programmeren in C++ Life Science & Technology 19 januari Universiteit Leiden.
Het selecteren van data uit meerdere gekoppelde tabellen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Realisaties Industriële Sturingen
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Spatial subgroup mining
Workshop PHP Een productencatalogus Met database.
Introductie/Agenda 1 Cor Verbaas 1.Business Analist. 2.Werkzaam bij AEP sinds juni Verantwoordelijk voor de business applicaties binnen AEP. 4.MFGPro.
Java DataBase Connectivity
Oudere software op een nieuwe PC De andere manier is het gebruik van virtual p.c. Het gebruik van virtual pc heeft als voor/nadeel het standaard operatings-
1 Oracle11g voor ontwikkelaars 12 december 2007 Rob van Wijk.
ACE Case Oracle 11g Release 2 voor ontwikkelaars Rob van Wijk 17 november 2009.
1 PL/SQL 19 januari 2009 Rob van Wijk. 2 Onderwerpen Positionering / architectuur / Codeopbouw Datatypes Belangrijkste commando’s Foutafhandeling Verschijningsvormen.
1 KC Server Development – Oracle and Open Source Databases Oracle and Open Source Databases KC Server Development Donderdag 7 oktober 2004.
Het nieuwe werken Visie Peter Fingar. Het werk verandert: –Meer informatie gericht: gebruiken, verwerken en actie Transactie-informatie Omgevingsinformatie.
Partiële r² Predictie van y gebaseerd op z alleen
Les 1a De PC © Johan Jacobs.
Return to Sender Retourneren bij verkopen via internet vanuit technisch bedrijfskundig oogpunt Annella Slob Faculteit IE&IS Technische Bedrijfskunde Annella.
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
Business Intelligence
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
1 XSLT processing & control Datamodellering 2006.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
COMPUTEST BORREL – 2 Mei 2014 Van Performancetesten naar Performance Assurance TestNet Najaarsevenement 2014 Versie: 1.0 Datum: 30 oktober 2014.
Front-end development
2 August SQL Les August Agenda Herhaling Herhaling Cursors Cursors MS SQL Server and MS Excel MS SQL Server and MS Excel Oefeningen.
Nieuwe Ontwikkelingen To boldly go where no one has gone before…
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK 6 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Subqueries met correlaties ▸ Subqueries zonder correlaties ▸ Views ▸
EERDER….. Tabellen rij (record, tuple, occurence) kolom (attribuut, veld) tabel (relatie) tabelstructuur : patient(PAT#,PNAAM,LEEFTIJD,GESLACHT,ARTS)
SQL Performance Analyzer Inschatten performance impact van wijzigingen Bram van der Vos
Waarheid en (zelf)censuur Een vijf-landen-studie van militaire Afghanistan autobiografieën.
ET Werkoverleg Januari 2016 Jan/2016ET werkoverleg1.
Cursus 1.2 Werken met een Atlas Klas 1 BK Lesweek 5
Cursus 1.2 Werken met een Atlas Klas 1 KGT Lesweek 5
WIFI IN DE GEZONDHEIDSZORG
Performance Tuning SSIS packages
Informatica-Actief Thema: Databases en informatiemodellering
Cursus 1.1 Werken met Kaarten Klas 1 KGT Lesweek 4
Cursus 1.1 Werken met Kaarten Klas 1 BK Lesweek 2
SQL Les February 2019.
SQL Les 3 23 February 2019.
SQL Les 7 24 February 2019.
SQL Les 1 5 April 2019.
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
SQL Les May 2019.
Transcript van de presentatie:

Cursus performance tuning voor ontwikkelaars 26 januari 2006 “De beste manier om een query te verbeteren, is door hem niet uit te voeren.”

Onderwerpen Meetmethodes Meetmethodes Cost based optimizer Cost based optimizer Interne verwerking van SQL Interne verwerking van SQL Diversen Diversen Pauze Pauze Marcel Hoefs’ gedeelte Marcel Hoefs’ gedeelte

Meetmethodes – explain plan utlxplan.sql / PLAN_TABLE utlxplan.sql / PLAN_TABLE Syntax Syntax dbms_xplan.display dbms_xplan.display Leesvolgorde Leesvolgorde Voorspelling vooraf Voorspelling vooraf cpt_explain.sql cpt_xplan_display.sql cpt_plan_lezen.sql

Meetmethodes – SQL Trace Instrumentatie van Oracle zelf Instrumentatie van Oracle zelf Syntax m.b.v. alter session Syntax m.b.v. alter session Syntax m.b.v. dbms_session Syntax m.b.v. dbms_session Syntax m.b.v. dbms_system Syntax m.b.v. dbms_system USER_DUMP_DEST USER_DUMP_DEST TIMED_STATISTICS TIMED_STATISTICS MAX_DUMP_FILE_SIZE MAX_DUMP_FILE_SIZE _TRACE_FILES_PUBLIC _TRACE_FILES_PUBLIC cpt_sql_trace1.sql cpt_sql_trace2.sql cpt_sql_trace3.sql

Meetmethodes – tkprof _ora_ _ora_ [ _ ].trc Formattering Formattering Syntax tkprof Syntax tkprof Lezen van een tkprof- uitvoerbestand Lezen van een tkprof- uitvoerbestand Redenen voor onvolledig uitvoerbestand Redenen voor onvolledig uitvoerbestand De waarheid De waarheid charon:mvs_o> tkprof cpt_onvolledig.sql

Meetmethodes – Trace events Wat kan je met events ? Wat kan je met events ? event event Verklaring verschil tussen cpu en elapsed met level = 8 of 12 Verklaring verschil tussen cpu en elapsed met level = 8 of 12 Syntax m.b.v. alter session Syntax m.b.v. alter session Syntax m.b.v. dbms_system Syntax m.b.v. dbms_system Basis van Veritas’ I3 Indepth for Oracle Basis van Veritas’ I3 Indepth for Oracle event event cpt_10046_1.sql cpt_10046_2.sql cpt_1401.sql

Cost based optimizer Opvolger van Rule based optimizer Opvolger van Rule based optimizer Cost Cost OPTIMIZER_MODE OPTIMIZER_MODE Statistieken Statistieken analyze versus dbms_stats analyze versus dbms_stats Monitoring Monitoring Histogrammen Histogrammen cpt_statistieken.sql cpt_analyze.sql cpt_dbms_stats.sql cpt_monitoring.sql cpt_histogrammen.sql

Interne verwerking van SQL - schematisch Syntax controle Syntax controle Semantische controle Semantische controle Opzoeken in library cache Opzoeken in library cache Optimalisatie Optimalisatie Plangeneratie Plangeneratie Uitvoeren volgens plan Uitvoeren volgens plan Resultaat teruggeven Resultaat teruggeven parse execute fetch soft parse cpt_optim.sql cpt_syntax.sql cpt_seman.sql

Interne verwerking – Minder parsen OPEN cursor  parse ? OPEN cursor  parse ? SESSION_CACHED_CURSORS SESSION_CACHED_CURSORS Session cursor cache Session cursor cache PL/SQL cursor cache PL/SQL cursor cache SQL*Plus SQL*Plus cpt_open_parse.sql

Interne verwerking van SQL - opgave NrSoort #hard parses #soft parses #execSnelst 1 Rij per rij 2Bulk 3 Dyn. SQL 4 Dyn. SQL met b.v. 5SQL

Interne verwerking - bindingsvariabelen Plaatsvervangers voor constanten in SQL Plaatsvervangers voor constanten in SQL Hard parse versus soft parse Hard parse versus soft parse Latches / schaalbaarheid Latches / schaalbaarheid CURSOR_SHARING CURSOR_SHARING PL/SQL en Oracle*Forms PL/SQL en Oracle*Forms Peeking Peeking SQL-injectie SQL-injectie cpt_injectie.sql cpt_peeking.sql cpt_latches.sql

Diversen - Hints Algemeen: liever niet gebruiken ! Algemeen: liever niet gebruiken ! Uitzonderingen: Uitzonderingen: FIRST_ROWS(n), ALL_ROWS, CHOOSE, (NO)REWRITE, DRIVING_SITE, (NO)PARALLEL, (NO)APPEND, CARDINALITY, DYNAMIC_SAMPLING, CURSOR_SHARING_EXACT

Diversen – Outer joins Nadeel van outer join Nadeel van outer join Is de outer join echt nodig ? Is de outer join echt nodig ? Een alternatief Een alternatief cpt_outerjoin1.sql cpt_outerjoin2.sql

Diversen – Analytische functies Mogelijkheid om meer in SQL, minder in PL/SQL te doen Mogelijkheid om meer in SQL, minder in PL/SQL te doen Verzamelingen Verzamelingen Kan self join voorkomen Kan self join voorkomen Berekeningen over rijen heen Berekeningen over rijen heen Lopende totalen Lopende totalen cpt_af1.sql cpt_af2.sql

Einde deel 1 VRAGEN ?