About the Trainer

Lukas Eder is the founder and CEO of Swiss company Data Geekery GmbH, which has been selling database products and services since 2013. His speciality is the interaction of Java and SQL. Most of this experience has been obtained via the Swiss E­Banking sector. He is best known in the Java community as the designer of the popular ‘jOOQ’ database access library and a frequent conference speaker on improving Java/DB integration.


This workshop enables developers to use SQL as a first-­class language in their applications. Due to the historic divide between database and programming skills the majority of SQL written by developers suffers from at least one of the following problems:

  • It is overly complex and could be greatly simplified via refactoring
  • It has poor performance, due to insufficient knowledge of DB internals
  • It does not leverage modern and/or vendor specific SQL functions

All of these issues can be fixed by encouraging developers to treat SQL with as much respect as their normal code, educating them about performance implications and informing them about new features available in commercial and open source databases. This masterclass achieves these three goals.


DAY 1 - SQL Functionality

  • Introduction to the course databases and revision of core SQL constructs
  • Techniques for writing SQL to maximise performance
  • Advanced constructs, such as row value expressions and hierarchical SQL
  • Applying window functions for complex calculations within the database
  • Modern use of DML (e.g. using MERGE instead of INSERT and UPDATE)
  • Using esoteric data types ( json, hstore, arrays, composite types, ranges etc…)

DAY 2 - SQL Performance

  • The inner workings of an index
  • The cost-based optimizer
  • Why constraints are so important for performance
  • Writing performant predicates
  • Faster DML
  • Antipatterns, myths, and best practices


This is a 2-day day workshop delivered using any of DB2 LUW, MySQL (8.0), Oracle, PostgreSQL, or SQL Server databases. Delegates should be experienced at writing SQL queries. A basic understanding of Java programming would also be useful.

Delegates can bring their own laptop, in which case setup instructions will be provided. Alternatively we can also provide hardware and software on request.