Abstract

Optimising queries with many joins is known to be a hard problem. The explosion of intermediate results as opposed to a much smaller final result poses a serious challenge to modern database management systems (DBMSs). This is particularly glaring in case of analytical queries that join many tables but ultimately
only output comparatively small aggregate information.

In this talk, I present novel optimisation techniques that allow us to avoid the materialisation of join results for certain types of aggregate queries. The key to these optimisations is the notion of guardedness, by which we impose restrictions on the occurrence of attributes in GROUP BY clauses and in aggregate expressions.

This talk is based on joint work with Matthias Lanzinger and Alexander Selzer: https://arxiv.org/abs/2406.17076