Picture of Markus Winand

The quality of online trainings suffers enormously with too many participants.

That’s why my online trainings are always one-on-one courses.

Personal Contact Makes the Difference

To move experienced developers forward, it is not enough just to teach them new features. Is is also important to address topics that have become outdated. This requires the kind of dialogue that cannot be realized between the trainer and multiple participants in the same online training. The reflective facial expressions of individual course participants cannot be seen, so the coach cannot react.

The solution is simple: online trainings need to be limited to a single participant. As a side effect such training also offers maximum flexibility, as the dates of the two-hour training sessions are schedules individually for each participant. The interval can be chosen by each participant to meet individual needs and time constraints. Short-term schedule changes are possible at any time. This allows you to take maximum advantage of the online medium.

What Participants Say

“I was able to quickly understand and solve performance problems in my daily work thanks for the training“

“Markus started at the beginning where it became quickly clear that he has a real talent of explaining important complex concepts in a very easy to understand way.“

Training Catalogue

These two trainings form the standard training program of Markus Winand, they can be carried out on short notice. They are delivered in six two-hour sessions. Of course Markus can extend these trainings by incorporating further topics and adjust the content to your particular situation. Please contact Markus Winand to get started.

SQL-Performance Kick-Start

In this training, developers learn how to resolve the most common cause of SQL performance issues: the index/query mismatch. After this training, developers can do more than just solve performance problems—they can proactively avoid them during their everyday work.


  • How does an index work?

  • Multi-column, partial and function-based indexes

  • Execution plans

  • Join algorithms

  • Building and using data clusters

  • Indexing sort and grouping operations

  • Optimizing top-n and pagination queries

  • Drawbacks of indexes

SQL Reloaded

This training clarifies the most common uncertainties developers have when working with SQL, and it teaches them to find the right solution more quickly. This training also introduces some less well-known design principles that have nevertheless proven themselves over the past decade.


  • Syntactic components: keywords, names, values

  • Type safety and the predefined data types

  • Queries: structure and logical order of execution

  • Joins

  • NULL and the three-valued logic of SQL

  • Collations

Further Topics

Here are some of the topics Markus Winand has done customized trainings in the past. Depending on the database brand you are using Markus might need a lead time to prepare the material for your scenario.

Of course you can also ask about other topics.

Data Consistency

In this module developers learn how to protect the consistency of the data—and thus all also maintain the correctness of decisions based on the data.


  • Data types, constraints and domains

  • Deferrable constraints

  • Transactions in the context of write operations

  • Transactions in the context of read operations

  • Transaction isolation and concurrency

Analysis and Aggregation

Online analytical processing (OLAP) can simplify and accelerate many applications—also those processing transactions. Using these features not only reduces development time, it also improves the performance of the application.


  • Avoiding self-joins

  • Multiple groupings

  • Window functions

  • Ranking

  • Grouping consecutive events

Recursive Queries

Modern SQL can process hierarchies and graphs directly in the database. This often means that you can avoid the need to cross a technology border, thus reducing the complexity and error-proneness of the application.


  • The WITH clause (non-recursive)

  • The WITH RECURSIVE clause

  • Use cases and examples

Row pattern matching (only Oracle database)

SQL row pattern matching provides previously unimaginable possibilities when it comes to recognizing patterns in time series. This feature is also useful beyond pattern matching, it is therefore relevant for all users of the Oracle 12c database.


  • The MATCH_RECOGNIZE clause

  • The supported regular expression dialect

  • Performing aggregations

  • Dynamic abort conditions

  • Use cases and examples

Extended Optimizer Statistics

This extension module for the “SQL Performance Kick-Start” training teaches developers to provide the required metadata for the database so that it can make better decisions and yield more rapid execution.


  • Object statistics

  • Cross-column correlation

  • Function-based statistics

  • Reactive optimization methods of databases

The topics vary for each database brand.

Security 1x1

In spite of the General Data Protection Regulation IT security moved into the focus of the managing directors again. The security model of SQL can help improving your security. Beyond that, most database vendors offer advanced means for fine grained access control to further reduce the risk of data leaks.


  • SQL injection

  • Access rights on object

  • Row-level security

The topics vary for each database brand.

What Participants Say

“I was able to quickly understand and solve performance problems in my daily work thanks for the training. The theoretical part explains the actual useful concepts. Markus is a very knowledgeable pedagogue who also provides relevant practical advice thanks to his consulting experience.“

“I followed the SQL-Performance Kick-Start in a one-on-one training with Markus. The course was very well structured and thought off. Markus started at the beginning where it became clear quickly that he has a real talent of explaining important complex concepts in a very easy to understand way. When necessary he did not find it a problem teaching a little out of scope. The most important aspects where repeated to really understand the entire indexing tuning approach. I am very confident after the training and i can even say that it became clear to me how proper indexing works, what to do and not do and ultimately positively change our production ERP performance“

Configure your Training

Privacy: The provided data is solely used to make you an offer and subsequent invoicing.


The training takes place online. The preferred technology is currently Google Hangouts. A different technology can be used upon request if the participant provides the required licenses.

The suitability of your infrastructure can be tested before booking (please put a note in the form above).


May 2020

1112 13 1415

June 2020


July 2020


Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter