Languages

Individualized Online Training

Faster and more precise –individualized training is the ideal tool for anyone who wants to rapidly and effectively expand their understanding of SQL. In our one-on-one training, we focus on your specific needs, and between the sessions (6 x 2 hours) there is always enough time to go over what was learned and to try things out in practice. Our training effectively combines three crucial training elements:

  • Online Training
    In our online training, Markus Winand shares the fundamental principles along with the finer details of SQL databases. You’ll learn all the relevant “MUSTS” for SQL database developers, and you can directly and quickly clear up questions you have about current challenges that you’re facing.

  • Instant Coaching
    A voucher for one hour of online coaching with Markus Winand means that you’re guaranteed fast, effective and no-cost support for problems that you run into, even after you’ve completed the online training.

  • SQL Tuning Book
    The book by Markus Winand – “SQL Performance Explained” – has in only a short time become the standard text in SQL development. A copy is included in the seminar price (as a download and a print version), making it possible for you to further deepen your understanding of the material covered in the training.

The training was developed with the help of Google Hangouts, though if preferred the use of TeamViewer in combination with Skype is also possible.

Specifically for Developers!

Our training is not about database configuration—instead we seek to optimize the data access that is carried out by the application. The participants must have SQL experience.

The contents in detail

Session 1: What's an index?

The intro session is a general discussion about indexes and SQL performance at all. We expect the participant to share their experiences so we get a clear picture of the background of the participant. We'll also use this opportunity discuss common myth about SQL performance in the field and correct them, of course.

The ultimate goal of this session is to have a common understanding of what an index is and how it affects performance.

Session 2: First steps

This sessions puts the previous session in context of SQL. That is, we see how indexes are used for simple queries and how to verify index usage using execution plans. Here we will also see what could go wrong: when indexes become slow.

After this session you'll be able to diagnose the first performance issues in your own environment.

Session 3: Finishing the foundation

This session covers parameterized queries, how range predicates and LIKE affect indexing and partial indexes. The session concludes with a bunch of common anti-patterns and explains how to cope with them.

After this session you'll be proficient in creating the right index for the WHERE clause of your query.

Session 4: Join

This session explains how databases perform join operations, how they can use indexes and what other options developers have to improve join performance.

After this session you'll be proficient in optimizing join operations.

Session 5: Clustering data

This session covers the “second power of indexing”: how to use indexes to store data in a clustered fashion so that data queried together is also stored together. Of course, the index is the tool of choice here that is best used in the hands of developers for this purpose.

After this session you'll know why it is a bad idea to select all columns (no matter if name them or just select *) and how to choose a clustered index.

Session 6: Sorting and partial results

Finally, we'll discuss the third power of indexing: using indexes to optimize sort performance. Further we'll learn about the most important application of this technique: efficiently fetching the most recent rows.

After this session you'll know about all three powers of indexing and be able to put them at work for you.

Frequently Asked Questions (FAQ)

How much is it?

The full training costs € 990.-- per participant plus 20% VAT if applicable. It includes an Instant-Coaching voucher and the book SQL Performance Explained.

Do I have to pay VAT?

If you are booking this training for a company and provide evidence of the corporate status (e.g. EU VAT ID), you don't need to pay VAT.

If you are booking the training privately, you have to pay the VAT.

What are the dates? When do the sessions take place?

As this is a one-on-one training, the participant and trainer will arrange the sessions just between them. The first session will be agreed upon via e-mail, the others at the end of each session.

If you cannot make it to an arrange session, please let use know asap. We can then arrange a new date. However, we don't like waiting in front of the computer — just let us know if you don't show up.

Which Databases are covered?

At the time, we can cove any out of these six databases right away: DB2 LUW, MySQL, Oracle, PostgreSQL, SQL Server, SQLite.

It's also possible to cover multiple databases in a single training. However, some combinations might require more time so that we then extend the training to seven sessions and charge a surcharge of €165.--.

I'm a DBA s—can I take this training?

Sure. But we won't be able to answer administration related questions. That is, for example about hardware sizing, configuration and the like.

How many participants are in class?

Just one participant and one trainer.

Are there practical exercises in the course?

We do not plan any practical exercises for this training but we run live examples. We'll discuss a few riddles (tuning examples) during the training. To make sure you can put your newly gained understanding in practice, you can contact the trainer for a one hour online coaching—up to one month after the training! Of course, you can also put the material in practice between the sessions and raise any new questions in the next session.

How can I participate in the online training?

We will use either Google Hangout, Skype or TeamViewer — whatever works best in your environment.

We highly recommend that you arrange a silent place to join the training. Verbal communication is harder to follow if you don't sit face to face, so try to remove any source of irritation before the session.