Seminārs "Optimizing for Performance"
Vada Joze Senegacnik
| Seminārs: |
Optimizing for Performance |
| Pasniedz: |
Joze Senegacnik |
| Norises laiks: |
27. – 28. augusts |
| Norises vieta: |
Baltijas Datoru Akadēmija, Elizabetes iela 65, Rīga, 3.stāvs |
| Cena vienam cilvēkam: |
512 Ls + PVN |
Semināra apraksts:
Seminārs ir veidots datu bāzu administratoriem un izstrādātājiem, lai palīdzētu tiem saprast optimizācijas procesus un iepazīstināt tos ar traucējummeklēšanu problēmām. Vispirms semināra laikā tiks detalizēti apskatīti pamata datubāzes mehānismi. Tas ir nepieciešams, lai saprastu iespējamās neskaidrības SQL paziņojumu izpildē, un lai iepazītos ar aizsardzības mehānismiem, kas var novērst šīs izpildes problēmas. Semināra laikā mēs izpētīsim SQL paziņojumu izpildi un ietekmi uz saistošiem mainīgajiem lielumiem SQL paziņojumu izpildē un to blakusparādībām. Tad mēs pāriesim uz izmaksu optimizācijas detaļām. Semināra otrajā dienā mēs sāksim ar gaidīšanas notikumiem un atbildes laika analīzi. Iekšējie indeksi tiek aplūkoti atsevišķās stundās. Šajā sesijā mēs cenšamies rast atbildes, kāpēc indeksi netiek izmantoti. Mēs arī apspriedīsim pieejamās datu bāzes funkcijas, kuras var izmantot datu piekļuves ceļu optimizācijai. Pēdējā sesijā mēs apspriedīsim pilnveidotāja padomus un SQL profilus.
Ieteicamās priekšzināšanas: Dalībniekiem
vajadzētu būt vismaz 1 gada pieredzei aplikāciju izstrādē, vai datu
bāzes administrēšanā un nepieciešamas zināšanas par datu bāzes
arhitektūru.
Mērķauditorija: datu bāzu administratori un
izstrādātāji
Atslēgas vārdi: izmaksu optimizācija,
optimizācija, tunings, atbildes laika analīze, izpilde, CBO,
vaicājumu transformācija, histogrammas, SQL profile, automātiskā
tuning uzlabotājs.
Mērķi:
- Iepazīties ar iespējamajām optimizācijas pieejām;
- Iegūt zināšanas par datu bāzes arhitektūru un SQL paziņojumu izpildi;
- Izpētīt pamata lietas, kas sasistās ar izmaksu optimizāciju – kā statistikas objekti un histogrammas iespaido izpildes plāna sagatavošanu;
- Iepazīties ar atbildes laika analīzi un visbiežākajiem gaidīšanas pasākumiem un iespējamajām darbībām, lai to novērstu;
- Saprast „index internals” un indeksēšanas stratēģijas; optimizēt datu piekļuves ceļus;
- Iemācīties kā pārvarēt izpildes plāna nestabilitātes problēmas un automatizēt „tuning” optimizētāja iespējas;
1.diena:
| |
Nosaukums |
Apraksts |
| 1 |
What is optimization? |
This lesson discusses possible approaches to the optimization, how to properly diagnose the bottlenecks and root causes of performance problems; it points out how an optimization project should be defined, organized and monitored and what are the critical success factors for an optimization project. |
| 2 |
Database Architecture |
In order to be able to diagnose performance bottleneck we need to be familiar with the database architecture. In this chapter we walk through the major components of the Oracle database and study the mechanisms which have strong impact on the performance like SGA, PGA, Undo/redo, memory management and usage. |
| 3 |
SQL Statement Processing |
Each SQL statement executed in the kernel must be first parsed. There are many potential problems which may occur during the parse phase. One of the most important steps of the parse phase is the preparation of the execution plan. Here we briefly discuss the cost based optimization, which is later discussed in more detail. We discuss also the problems related to binding the variables and reasons why the SQL statements can’t be shared.
In the second part of this lesson we study the interpretation of the execution plan and the possibilities for parallel execution.
|
| 4 |
Cost Based Optimization |
The key prerequisite for optimal SQL statement execution is optimal execution plan which is the result of correctly gathered statistics and proper setup of the CBO. There are many important details how one can tell more “truth” to the CBO in order to enable it to prepare better execution plans. In this lesson we walk through the cost based optimization in more details and at the same time we study the influence of gathered object statistics, system statistics and histograms. At the end of the lesson we shortly discuss also the capabilities of the extensible optimizer which are used to define the selectivity and cost of execution of PL/SQL functions and packages. |
2.diena:
| |
Nosaukums |
Apraksts |
| 5 |
Wait Events |
The response time analysis is based on the analysis of the service and wait time. We use the Queuing Theory as the base for understanding the response time analysis. The Oracle database kernel is instrumented to report time used in waiting for different kind of resources. These wait events can be reported to trace files and used for the most detailed response time analysis. In this lesson we discuss the most common wait events and possibilities for their elimination. |
| 6 |
Indexes |
This lesson discusses the indexes and the problems related to their usage. The most common question of the developers regarding indexes is: “Why my index is not used?”. In this lesson we briefly study the index internals, possible index access paths, the cost of the index access, when the index should be coalesced or rebuilt, index statistics and its influence on the execution plan. In the second part of the lesson we discuss the causes why an index is not used. |
| 7 |
Access Path Optimization |
Optimization of physical layer is as much important as any another area. In this lesson we discuss the impact of physical organization and possible optimization of access paths. Usually developers use only heap organized tables and b*tree indexes but there are many other options available in Oracle database which are there to be used in order to establish the optimal physical layout. We will look at index and hash clusters, single table hash clusters, materialized views, small tables organization and many more. |
| 8 |
Optimizer Hints,
SQL Profiles and
Execution Plan Stability |
The optimizer hints are really not hints but rather they are directives. When applied, a hint directs the optimization of the execution plan and disables possible optimization options. Therefore the optimizer hints are the last resort in the SQL |
Joze Senegacnik ir starptautisks pasniedzējs un augsti cienījama tīkla „Oak Table” biedrs. Viņš regulāri uzstājās Slovēnijas Oracle lietotāju grupā Slovenian Oracle Users Group Conferences (SIOUG), neatkarīgās Oracle lietotāju grupu (IOUG) konferencēs, Lielbritānijas Oracle lietotāju grupu, Hotsos Symposium semināros un Oracle Open World pasākumos.
Interesants video
Jautājumu gadījumā vai lai pieteiktos, kontaktējieties ar Māru Rūci-Veselovu, e-pasts:
mara@bda.lv, tel. 26163153.