Our latest paper by Jan Kossmann, Alexander Kastius, and Rainer Schlosser proposes to use Reinforcement Learning (RL) for index selection. Please feel free to contact Jan Kossmann if you have questions regarding the paper .
Well-chosen secondary indexes are highly relevant for database performance. For complex workloads, current index selection algorithms are either not fast or not highly competitive. Our approach, SWIRL, which is based on reinforcement learning, offers both. During a preliminary training procedure, the necessary knowledge about index candidates is internalized. The training effort is then traded off against rapid solution times while workloads containing known and unknown query classes can be handled, which is relevant, e.g., in cloud-based business application scenarios.
In this work, we (i) explain how we model the index selection problem for reinforcement learning, (ii) enable our approach to generalize to unseen workloads, (iii) achieve efficient training for thousands of index candidates by relying on invalid action masking, and (iv) compare it to state-of-the-art and other RL index selection approaches on the analytical TPC-H, TPC-DS, and Join Order Benchmarks. The results show that overall SWIRL determines competitive index configurations and outperforms competitors in terms of runtime, some by orders of magnitude.