In this Oracle Dev Gym class...

Databases for Developers: Performance

Learn how to make SQL faster in this FREE 10-part boot camp. The course is a series of videos to teach you performance concepts, interactive SQL tutorials, and quizzes to reinforce the ideas. You'll learn how to get and read execution plans, create indexes and materialized views, find slow SQL, and other key performance tuning techniques.


  • Instructor

    Chris Saxon*

  • Starts On

    August 3 2020

  • Difficulty


Oracle Account Text

You need an Oracle Account to take a class. Click here to sign up.
Already a member of the Oracle Dev Gym? Click here to get back to work.

What You'll Learn

Module 1: How to Read an Execution Plan
An execution plan is like the driving directions for a SQL statement. This module shows you how to get execution plans and follow these directions so you can understand how the database processes SQL.
Module 2: What are Database Statistics?
The optimizer uses database statistics to estimate how many rows a query will fetch from each table. These row estimates are a key factor for choosing an execution plan. Take this module to learn what these statistics are, how to update them, and what to do when the optimizer's estimates are wrong!
Module 3: How Much Work is My Query Doing?
To make SQL faster, you need to reduce the resources the database uses processing it. This module shows you how to add I/O and timing information to execution plans, so you know where to focus your tuning efforts.
Module 4: How to Create Indexes
Indexes are one of the core performance tuning tools. Learn how to create them and the different types available in this module.
Module 5: Why Isn't My Query Using an Index?
Indexes are supposed to make queries faster, right? So why, after you've created an index, the optimizer still choose a full table scan?! This module explores the reasons behind this; showing why a full table scan is often faster than an index.
Module 6: How to Summarize Data Fast with Materialized Views
Queries that aggregate millions of rows down to a handful are common. For example, summaries per day, week or month. Materialized views can make these queries orders of magnitude faster. Learn how in this module.
Module 7: How do Joins Work?
SQL queries combine rows from two tables by joining them. This module explains how the join methods nested loops, hash join, and merge join work.
Module 8: How to Make Inserts, Updates, and Deletes Faster
So far this series has focused on making SELECT statements faster. But what about INSERT, UPDATE, and DELETE? This module covers extra considerations for tuning database writes.
Module 9: How to Find Slow SQL
This class has explained how to go about making a SQL statement faster. This module takes a step back and asks: How do you know which SQL statements to tune in the first place? Learn about the tools to profile your database access in this module.
Module 10: Performance Course Review
Complete the class with a series of quizzes covering all the topics in the course!

Frequently Asked Questions

How much does it cost to take a class on the Dev Gym?
Nothing. Nada. Nil. Zilch. That's right, it's 100% FREE! As is everything else at the Dev Gym.
What will I learn on this course?
You'll learn the basics of SQL performance tuning:
  • How to get and read an execution plan
  • How to create indexes and materialized views to make SQL faster
  • How to find the slowest SQL statements in your code
What do I get for completing the class?
Once you complete all modules of a class, you can print your class certificate. If your average grade in the class is 90% or higher, you receive a Certificate of Excellence. Otherwise you will get a Certificate of Completion. Either way, congratulations on a job well done!
I missed the start. Can I still join?
Yes! You can join Databases for Developers at any time
Can I restart the class?
If you want to do a complete restart, simply drop the class and re-register. You can do this by scrolling down to the bottom of the page and clicking on the link provided. If you simply want to retake the quizzes in an individual module or entire class, again, go to the bottom of the page and click on that link.
When does the course end?
The modules have no fixed end date. Once you're registered you can take open classes whenever you want
How much time will it take?
We estimate that this will take up to 30 minutes per module.
What if I fall behind?
This is a self-paced course. Once registered, you have lifetime access to these materials to review at any time. So you can complete it at your leisure.
What is the format of this course?
The course is a combination of:
  • Videos designed to teach you database concepts.
  • Coding tutorials for you to practice your skills.
  • Quizzes to deepen your knowledge.
Do I need access to an Oracle Database?
No! This is a fully online course. The materials are designed so you can complete the course without a database.
Are there free resources where can I practice what I've learned?
Yes! Oracle has the following free offerings:
I'm new to SQL. Is this course right for me?
I still have unanswered questions. Where can I ask them?

*About Chris Saxon

Chris Saxon is the quizmaster for the Database Design competitions and an Oracle Developer Advocate for SQL. His job is to help you get the best out of the Oracle Database and have fun with SQL! He's also part of the answer team on Ask TOM and creates YouTube videos at The Magic of SQL channel.

More from Chris Saxon