SlideShare a Scribd company logo
Oracle SQL High Performance TuningGuy HarrisonDirector, R&D Melbournewww.guyharrison.netGuy.harrison@quest.com@guyharrison
Introductions
AgendaPhilosophy and methodologyOptimizing the optimizerDetecting errant SQLsChanging the plan Table lookupsJoinsSortsGroup BYOther topics
Prison guard analogyKeep the SQLs contained Indexing and clustering Optimizer configuration Detect break outsMonitor and detect errant SQLsRe-capture the fugitivesTraditional SQL tuningOutlines, baselines, indexing, denormalization, hints
Optimizing the optimizer
Optimizer inputsCardinality EstimatesTable and indexStructureObject StatisticsIO and CPUEstimates DB parametersAnd configCost estimateSystem Statistics
Optimizing the optimizerCreate necessary physical structures for optimal plans Indexes, partitions, clusters Collect object statistics Histograms,  extended statistics Optimizer configuration parametersMemory_target, db_block_size, etcOptimizer_index_caching, optimizer_index_cost_adjSystem statisticsDBMS_STATS.gather_system_stats
Histograms
Oracle sql high performance tuning
11g Extended Statistics Select *   from people Where gender=‘boy’   And name=‘Sue’BoysGirlsPeople named SuePeople named Sue
Histogram limitationsHeight balanced histograms don’t have the granularity we might want or expect.
Be realistic about histograms.....Histograms often fail to push cardinalities through multi-table SQLsDefault histogram collections are not always optimal
Finding tunable SQL
Detecting break outs V$SQL & V$SQL_PLANFind SQLs with high resource costs EXPLAIN PLAN & DBMS_STATDetermine the execution plan SQL Trace/TkprofBest drilldown at the session level
Mining V$SQL
DBMS_XPLANSQL> SELECT *  FROM TABLE (DBMS_XPLAN.display_cursor ('at6ss8tmxm5xz', '0', 'TYPICAL -BYTES')); PLAN_TABLE_OUTPUT-----------------------------------------------------------------------------------------SQL_ID  at6ss8tmxm5xz, child number 0-------------------------------------SELECT   department_name, last_name, job_title     FROM hr.employees JOINhr.departments USING (department_id)          JOIN hr.jobs USING (job_id)ORDER BY department_name, job_title Plan hash value: 3225241925 --------------------------------------------------------------------------------------| Id  | Operation                      | Name        | Rows  | Cost (%CPU)| Time     |--------------------------------------------------------------------------------------|   0 | SELECT STATEMENT               |             |       |    26 (100)|          ||   1 |  SORT ORDER BY                 |             |   106 |    26   (8)| 00:00:01 ||   2 |   NESTED LOOPS                 |             |   106 |    25   (4)| 00:00:01 ||   3 |    MERGE JOIN                  |             |   107 |    24   (5)| 00:00:01 ||   4 |     TABLE ACCESS BY INDEX ROWID| EMPLOYEES   |   107 |    20   (0)| 00:00:01 ||   5 |      INDEX FULL SCAN           | EMP_JOB_IX  |   107 |    12   (0)| 00:00:01 ||*  6 |     SORT JOIN                  |             |    19 |     4  (25)| 00:00:01 ||   7 |      TABLE ACCESS FULL         | JOBS        |    19 |     3   (0)| 00:00:01 ||   8 |    TABLE ACCESS BY INDEX ROWID | DEPARTMENTS |     1 |     1   (0)| 00:00:01 ||*  9 |     INDEX UNIQUE SCAN          | DEPT_ID_PK  |     1 |     0   (0)|          |-------------------------------------------------------------------------------------- Predicate Information (identified by operation id):---------------------------------------------------    6 - access("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID")       filter("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID")   9 - access("EMPLOYEES"."DEPARTMENT_ID"="DEPARTMENTS"."DEPARTMENT_ID")
SQL Trace & tkprofTrace in current session: DBMS_SESSIONIn other session: DBMS_MONITORSession_trace_enable – specific session Serv_mod_act_trace_enable – service, module or action nameAnalyze with tkprofOr third party tools (Toad, Spotlight, others)
Oracle sql high performance tuning
The best laid plans of Mice and Oracle....
Returning to captivity – changing the plan  Options for improving the plan:IndexingConfiguration changes (esp. Memory)Stored outlines (stability)SQL Tuning sets and profiles 11g SQL Baselines (flexibility)Hints and re-writes (last resort)
Use hints with extreme cautionHints reduce optimizer flexibility and can lead to bad plansEg: USE_NL can force a nested loops join without an indexUSE_NL_WITH_INDEX is safer..
Exploit baselines and plan management
SQL Baselines in SQL Optimizer
Indexing and single table lookups
Single table lookupIndex or table scan?Avoid accidental table scans Optimize indexesbest combination of concatenated indexesOptimize necessary table scans Vertical/Horizontal partitioningCompressionParallel Query
Oracle sql high performance tuning
Concatenated Index EffectivenessSELECT cust_idFROM sh.customers cWHERE cust_first_name = 'Connor'AND cust_last_name = 'Bishop'AND cust_year_of_birth = 1976;
Bitmap indexes
Bitmap indexes
Vertical partitioning
Joins
Optimizing joinsBest join order Eliminate rows as early as possibleJoin Type: Nested loops Optimize the join indexSort mergeAvoid, esp. if memory scarce Hash join Avoid multi-pass executions
Nested loops join
Sort-merge and hash join In MemoryIn MemorySingle pass disk sortMulti pass disk sortDisk Sort
Bitmap join index
Bitmap join performance SELECT SUM (amount_sold)FROM customers JOIN sales s USING (cust_id) WHERE cust_email='flint.jeffreys@company2.com';
Sorting
38Sorting – what we expectMulti-passDisk SortMemory Sort Single PassDisk Sort
39Flash drive to the rescue?Multi-passDisk SortSingle PassDisk Sort
Less memory than you may think....
Memory and sortingNothing matters as much as PGA to sort operationsAutomatic work area management restricts you to a subset of PGAFor big sorts, “opt out” of automatic work area managementALTER SESSION SET workarea_size_policy = manual;ALTER SESSION SET sort_area_size = 524288000;
Grouping42
Hash Group by11g introduced the Hash GROUP BYUsing an ORDER BY can suppress the hash GROUP BY....Can override with USE_HASH_AGGREGATION hint
Analytic (windowing) functions
Pivot vs CASE
DML
DML tuning - indexes
Multi-table insert
Multi-table insert
Merge
Oracle sql high performance tuning
Merge optimization The optimizer usually can’t determine the overlap between Tables
Forcing a Nested loops Merge outer join may be significantOther DML optimizationsArray insertDirect pathNOLOGGINGCommit frequencyNOWAIT and BATCH redo logging
Other topicsDatabase logical design Clustering and exotic physical optionsPL/SQL Parallel SQLApplication optimization (Arrays, bind variables)
ConclusionMaximizing optimizer accuracy provides the best return on investmentSub-optimal optimizations are unfortunately inevitableKey SQL tuning skills are therefore:Configuring Oracle to maximize optimizer effectivenessDetection of sub-optimal SQLsTechniques for coercing SQLs to acceptable performance
Oracle sql high performance tuning

More Related Content

PPTX
Understanding SQL Trace, TKPROF and Execution Plan for beginners
PDF
Oracle statistics by example
PPTX
SQL Tuning 101
PPTX
Explain the explain_plan
PPT
Ash masters : advanced ash analytics on Oracle
PDF
Ash architecture and advanced usage rmoug2014
PDF
Tanel Poder - Scripts and Tools short
PDF
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Oracle statistics by example
SQL Tuning 101
Explain the explain_plan
Ash masters : advanced ash analytics on Oracle
Ash architecture and advanced usage rmoug2014
Tanel Poder - Scripts and Tools short
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs

What's hot (20)

PDF
Oracle Performance Tuning Fundamentals
PDF
Oracle db performance tuning
PDF
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
PPTX
Adapting and adopting spm v04
PDF
Same plan different performance
PPTX
AWR and ASH Deep Dive
PPTX
Oracle database performance tuning
PDF
Analyzing and Interpreting AWR
PDF
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
DOC
Analyzing awr report
PDF
Troubleshooting Complex Performance issues - Oracle SEG$ contention
PDF
Chasing the optimizer
PPTX
Data Guard Architecture & Setup
PDF
Oracle RAC 19c: Best Practices and Secret Internals
PDF
Oracle Database SQL Tuning Concept
PDF
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
PDF
Oracle Latch and Mutex Contention Troubleshooting
PDF
AWR & ASH Analysis
PDF
MAA Best Practices for Oracle Database 19c
PPSX
Oracle Performance Tools of the Trade
Oracle Performance Tuning Fundamentals
Oracle db performance tuning
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
Adapting and adopting spm v04
Same plan different performance
AWR and ASH Deep Dive
Oracle database performance tuning
Analyzing and Interpreting AWR
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Analyzing awr report
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Chasing the optimizer
Data Guard Architecture & Setup
Oracle RAC 19c: Best Practices and Secret Internals
Oracle Database SQL Tuning Concept
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Oracle Latch and Mutex Contention Troubleshooting
AWR & ASH Analysis
MAA Best Practices for Oracle Database 19c
Oracle Performance Tools of the Trade
Ad

Viewers also liked (20)

PPTX
Oracle Oracle Performance Tuning
PPTX
Top 10 tips for Oracle performance (Updated April 2015)
PPT
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
PPTX
Oracle DB Performance Tuning Tips
PDF
Oracle database performance tuning
PDF
Performance tuning and optimization (ppt)
PPT
Oracle Sql Tuning
PDF
Step By Step Install Oracle 10g Rac Asm On Windows
PPT
Oracle 10g Performance: chapter 00 intro live_short
PPT
Database performance tuning and query optimization
PPSX
Database Performance Tuning Introduction
PDF
Oracle SQL Performance Tuning and Optimization v26 chapter 1
PPSX
Oracle 11g R2 RAC implementation and concept
PDF
Database Management System
PPTX
IOUG Collaborate 2014 ASH/AWR Deep Dive
PPT
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
PPT
Sql DML
PPT
OOUG: Oracle transaction locking
PDF
Oracle Database Performance Tuning Concept
PPTX
Oracle DB 12c SQL Tuning
Oracle Oracle Performance Tuning
Top 10 tips for Oracle performance (Updated April 2015)
Performance Tuning With Oracle ASH and AWR. Part 1 How And What
Oracle DB Performance Tuning Tips
Oracle database performance tuning
Performance tuning and optimization (ppt)
Oracle Sql Tuning
Step By Step Install Oracle 10g Rac Asm On Windows
Oracle 10g Performance: chapter 00 intro live_short
Database performance tuning and query optimization
Database Performance Tuning Introduction
Oracle SQL Performance Tuning and Optimization v26 chapter 1
Oracle 11g R2 RAC implementation and concept
Database Management System
IOUG Collaborate 2014 ASH/AWR Deep Dive
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Sql DML
OOUG: Oracle transaction locking
Oracle Database Performance Tuning Concept
Oracle DB 12c SQL Tuning
Ad

Similar to Oracle sql high performance tuning (20)

PPTX
Top 10 tips for Oracle performance
PPT
Top 10 Oracle SQL tuning tips
PPT
Myth busters - performance tuning 101 2007
PPTX
Sql and PL/SQL Best Practices I
TXT
Oracle sql tuning
PPTX
DOAG: Visual SQL Tuning
PPT
Myth busters - performance tuning 102 2008
PDF
kscope2013vst-130627142814-phpapp02.pdf
ODP
SQL Tunning
PPT
Indexing Strategies
PDF
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
PPTX
Embarcadero In Search of Plan Stability Part 1 Webinar Slides
PDF
SQL Database Performance Tuning for Developers
PPTX
SQL Server 2012 Best Practices
PPTX
SQL Tuning and VST
PPTX
SQL Tuning Methodology, Kscope 2013
PDF
Oracle Query Tuning Tips - Get it Right the First Time
PPTX
Introduction to execution plan analysis
PPTX
Part1 of SQL Tuning Workshop - Understanding the Optimizer
PDF
4 execution plans
Top 10 tips for Oracle performance
Top 10 Oracle SQL tuning tips
Myth busters - performance tuning 101 2007
Sql and PL/SQL Best Practices I
Oracle sql tuning
DOAG: Visual SQL Tuning
Myth busters - performance tuning 102 2008
kscope2013vst-130627142814-phpapp02.pdf
SQL Tunning
Indexing Strategies
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
Embarcadero In Search of Plan Stability Part 1 Webinar Slides
SQL Database Performance Tuning for Developers
SQL Server 2012 Best Practices
SQL Tuning and VST
SQL Tuning Methodology, Kscope 2013
Oracle Query Tuning Tips - Get it Right the First Time
Introduction to execution plan analysis
Part1 of SQL Tuning Workshop - Understanding the Optimizer
4 execution plans

More from Guy Harrison (20)

PPTX
Five database trends - updated April 2015
PPTX
From oracle to hadoop with Sqoop and other tools
PPTX
Thriving and surviving the Big Data revolution
PPTX
Mega trends in information management
PPTX
Big datacamp2013 share
PPTX
Hadoop, Oracle and the big data revolution collaborate 2013
PPTX
Hadoop, oracle and the industrial revolution of data
PPTX
Making the most of ssd in oracle11g
PPTX
Hadoop and rdbms with sqoop
PPTX
Next generation databases july2010
PPTX
Optimize oracle on VMware (April 2011)
PPTX
Optimizing Oracle databases with SSD - April 2014
PPTX
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
PPTX
High Performance Plsql
PPTX
Performance By Design
PPTX
Optimize Oracle On VMware (Sep 2011)
PPTX
Thanks for the Memory
PPTX
How I learned to stop worrying and love Oracle
PPTX
Performance By Design
PPTX
High Performance Plsql
Five database trends - updated April 2015
From oracle to hadoop with Sqoop and other tools
Thriving and surviving the Big Data revolution
Mega trends in information management
Big datacamp2013 share
Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, oracle and the industrial revolution of data
Making the most of ssd in oracle11g
Hadoop and rdbms with sqoop
Next generation databases july2010
Optimize oracle on VMware (April 2011)
Optimizing Oracle databases with SSD - April 2014
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
High Performance Plsql
Performance By Design
Optimize Oracle On VMware (Sep 2011)
Thanks for the Memory
How I learned to stop worrying and love Oracle
Performance By Design
High Performance Plsql

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Machine Learning_overview_presentation.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
A comparative analysis of optical character recognition models for extracting...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Big Data Technologies - Introduction.pptx
A Presentation on Artificial Intelligence
Assigned Numbers - 2025 - Bluetooth® Document
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Machine Learning_overview_presentation.pptx
Chapter 3 Spatial Domain Image Processing.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
A comparative analysis of optical character recognition models for extracting...
The AUB Centre for AI in Media Proposal.docx
sap open course for s4hana steps from ECC to s4
20250228 LYD VKU AI Blended-Learning.pptx

Oracle sql high performance tuning

  • 1. Oracle SQL High Performance TuningGuy HarrisonDirector, R&D [email protected]@guyharrison
  • 3. AgendaPhilosophy and methodologyOptimizing the optimizerDetecting errant SQLsChanging the plan Table lookupsJoinsSortsGroup BYOther topics
  • 4. Prison guard analogyKeep the SQLs contained Indexing and clustering Optimizer configuration Detect break outsMonitor and detect errant SQLsRe-capture the fugitivesTraditional SQL tuningOutlines, baselines, indexing, denormalization, hints
  • 6. Optimizer inputsCardinality EstimatesTable and indexStructureObject StatisticsIO and CPUEstimates DB parametersAnd configCost estimateSystem Statistics
  • 7. Optimizing the optimizerCreate necessary physical structures for optimal plans Indexes, partitions, clusters Collect object statistics Histograms, extended statistics Optimizer configuration parametersMemory_target, db_block_size, etcOptimizer_index_caching, optimizer_index_cost_adjSystem statisticsDBMS_STATS.gather_system_stats
  • 10. 11g Extended Statistics Select * from people Where gender=‘boy’ And name=‘Sue’BoysGirlsPeople named SuePeople named Sue
  • 11. Histogram limitationsHeight balanced histograms don’t have the granularity we might want or expect.
  • 12. Be realistic about histograms.....Histograms often fail to push cardinalities through multi-table SQLsDefault histogram collections are not always optimal
  • 14. Detecting break outs V$SQL & V$SQL_PLANFind SQLs with high resource costs EXPLAIN PLAN & DBMS_STATDetermine the execution plan SQL Trace/TkprofBest drilldown at the session level
  • 16. DBMS_XPLANSQL> SELECT * FROM TABLE (DBMS_XPLAN.display_cursor ('at6ss8tmxm5xz', '0', 'TYPICAL -BYTES')); PLAN_TABLE_OUTPUT-----------------------------------------------------------------------------------------SQL_ID at6ss8tmxm5xz, child number 0-------------------------------------SELECT department_name, last_name, job_title FROM hr.employees JOINhr.departments USING (department_id) JOIN hr.jobs USING (job_id)ORDER BY department_name, job_title Plan hash value: 3225241925 --------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Cost (%CPU)| Time |--------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | 26 (100)| || 1 | SORT ORDER BY | | 106 | 26 (8)| 00:00:01 || 2 | NESTED LOOPS | | 106 | 25 (4)| 00:00:01 || 3 | MERGE JOIN | | 107 | 24 (5)| 00:00:01 || 4 | TABLE ACCESS BY INDEX ROWID| EMPLOYEES | 107 | 20 (0)| 00:00:01 || 5 | INDEX FULL SCAN | EMP_JOB_IX | 107 | 12 (0)| 00:00:01 ||* 6 | SORT JOIN | | 19 | 4 (25)| 00:00:01 || 7 | TABLE ACCESS FULL | JOBS | 19 | 3 (0)| 00:00:01 || 8 | TABLE ACCESS BY INDEX ROWID | DEPARTMENTS | 1 | 1 (0)| 00:00:01 ||* 9 | INDEX UNIQUE SCAN | DEPT_ID_PK | 1 | 0 (0)| |-------------------------------------------------------------------------------------- Predicate Information (identified by operation id):---------------------------------------------------  6 - access("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID") filter("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID") 9 - access("EMPLOYEES"."DEPARTMENT_ID"="DEPARTMENTS"."DEPARTMENT_ID")
  • 17. SQL Trace & tkprofTrace in current session: DBMS_SESSIONIn other session: DBMS_MONITORSession_trace_enable – specific session Serv_mod_act_trace_enable – service, module or action nameAnalyze with tkprofOr third party tools (Toad, Spotlight, others)
  • 19. The best laid plans of Mice and Oracle....
  • 20. Returning to captivity – changing the plan Options for improving the plan:IndexingConfiguration changes (esp. Memory)Stored outlines (stability)SQL Tuning sets and profiles 11g SQL Baselines (flexibility)Hints and re-writes (last resort)
  • 21. Use hints with extreme cautionHints reduce optimizer flexibility and can lead to bad plansEg: USE_NL can force a nested loops join without an indexUSE_NL_WITH_INDEX is safer..
  • 22. Exploit baselines and plan management
  • 23. SQL Baselines in SQL Optimizer
  • 24. Indexing and single table lookups
  • 25. Single table lookupIndex or table scan?Avoid accidental table scans Optimize indexesbest combination of concatenated indexesOptimize necessary table scans Vertical/Horizontal partitioningCompressionParallel Query
  • 27. Concatenated Index EffectivenessSELECT cust_idFROM sh.customers cWHERE cust_first_name = 'Connor'AND cust_last_name = 'Bishop'AND cust_year_of_birth = 1976;
  • 31. Joins
  • 32. Optimizing joinsBest join order Eliminate rows as early as possibleJoin Type: Nested loops Optimize the join indexSort mergeAvoid, esp. if memory scarce Hash join Avoid multi-pass executions
  • 34. Sort-merge and hash join In MemoryIn MemorySingle pass disk sortMulti pass disk sortDisk Sort
  • 36. Bitmap join performance SELECT SUM (amount_sold)FROM customers JOIN sales s USING (cust_id) WHERE cust_email='[email protected]';
  • 38. 38Sorting – what we expectMulti-passDisk SortMemory Sort Single PassDisk Sort
  • 39. 39Flash drive to the rescue?Multi-passDisk SortSingle PassDisk Sort
  • 40. Less memory than you may think....
  • 41. Memory and sortingNothing matters as much as PGA to sort operationsAutomatic work area management restricts you to a subset of PGAFor big sorts, “opt out” of automatic work area managementALTER SESSION SET workarea_size_policy = manual;ALTER SESSION SET sort_area_size = 524288000;
  • 43. Hash Group by11g introduced the Hash GROUP BYUsing an ORDER BY can suppress the hash GROUP BY....Can override with USE_HASH_AGGREGATION hint
  • 46. DML
  • 47. DML tuning - indexes
  • 50. Merge
  • 52. Merge optimization The optimizer usually can’t determine the overlap between Tables
  • 53. Forcing a Nested loops Merge outer join may be significantOther DML optimizationsArray insertDirect pathNOLOGGINGCommit frequencyNOWAIT and BATCH redo logging
  • 54. Other topicsDatabase logical design Clustering and exotic physical optionsPL/SQL Parallel SQLApplication optimization (Arrays, bind variables)
  • 55. ConclusionMaximizing optimizer accuracy provides the best return on investmentSub-optimal optimizations are unfortunately inevitableKey SQL tuning skills are therefore:Configuring Oracle to maximize optimizer effectivenessDetection of sub-optimal SQLsTechniques for coercing SQLs to acceptable performance

Editor's Notes

  • #3: Apologies, I’m a database type.....Quest is best known for toad, but we also have enterprise monitoring across all levels of the stackIn Melbourne, SQL Navigator + the spotlights. It’s not a complete co-incidence about the star trek theme.
  • #7: Garbage In Garbage OutCreate necessary physical structures for optimal plans Indexes, partitions, clusters Collect object statistics Histograms, extended statistiOptimizer configuration parametersMemory_target, db_block_size, etcOptimizer_index_caching, optimizer_index_cost_adjSystem statisticsDBMS_STATS.gather_system_stats
  • #21: Robert Burns
  • #33: Stupid SQL Joke:An SQL statement walks into a bar and sees two tables.It approaches, and asks “may I join you?”