A Dev Gym Class

Databases for Developers: Performance

A free Performance Optimization course

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.
Join 11,920 students    (255 ratings)

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.

Course Modules

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.

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!

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.

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.

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.

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.

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.

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.

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.

Performance Course Review

Complete the class with a series of quizzes covering all the topics in the course!

Course Reviews

"This is an excellent hands on class. I've learned a lot from it and thank you for doing a great class."

"The most useful aspect was that even an "old dog" performance person ( as I dare to call myself ) still has some aspect or another, either a bigger or a smaller one, to learn about and fix in his/her knowledge bag. Performance knowledge is never enough to anyone ... even Jonathan Lewis discovers new things every day :)"

"Explanations very clear!!!"

"Enjoyed the deeper diving into understanding the explain plans"

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?

Do you have SQL questions to help me practice?

Yes! Oracle Dev Gym has hundreds of SQL quizzes in its library. All free and available for you to take anytime.

Every Saturday we release a new Oracle Database quiz. This weekly database quiz is a ranked tournament, where you compete against other developers to see who can give the fastest, most accurate answers. Enter each week to see if you can take the top spot!

I still have unanswered questions. Where can I ask them?



About Chris Saxon

Chris Saxon is an Oracle Developer Advocate and quizmaster on Dev Gym. 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