Languages

Kick Start Package

Find out about basic SQL performance training for your business and save the time and money when solving database performance problems in the future! The SQL Performance Kick Start Package ensures that your developers are making the most of database resources.

Specifically for developers

Our Kick Start Package combines three different formats for optimal knowledge transfer:

  • Kick Start Session
    In just one or two days on-site, Markus Winand shares his knowledge with your development team (of about 10 developers), covering the powerful possibilities modern SQL databases offer.

  • Instant Coaching
    The participants can clear up any questions they have with Markus for up to one month after the Kick Start session. Each participant is provided with a voucher for one hour of Instant Coaching.

  • SQL Tuning Book
    Every participant receives a copy of “SQL Performance Explained” to use as a reference and to enhance understanding of the material covered during the in-person session.

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

What's an index?

The intro 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 the intro is to have a common understanding of what an index is and how it affects performance.

First steps

Next we put the intro 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.

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

From here on the participants will be proficient in creating the right index for the WHERE clause of your query.

Join

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

Clustering data

“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 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.

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.

After this training…

  • You will know how database indexes really work.
  • You will understand the causes of slow index lookups and prevent them.
  • You will know why database indexing is a development task.
  • You will love execution plans.
  • You will exploit multi-column indexes to their full extend.
  • You will apply SQL functions correctly.
  • You will understand the importance and effects of bind parameters.
  • You will recognize common anti-patterns and use the more efficient alternatives.
  • You will know about the impact of growing load on the response time.
  • You will understand that an index on the join predicates is not always the right choice.
  • You will understand the performance impact of ORM tools and know what to do about it.
  • You will use indexes to optimize order by clauses.
  • You will implement efficient pagination queries in SQL.
  • You will not be confused by those countless SQL performance myths.
  • You will get the best out of the hardware.
  • You will write faster SQL.