Deep Reinforcement Learning for Join Order Enumeration
Join order selection plays a significant role in query performance. Many modern database engine query optimizers use join order enumerators, cost models, and cardinality estimators to choose join orderings, each of which is based on painstakingly hand-tuned heuristics and formulae. Additionally, these systems typically employ static algorithms that ignore the end result (they do not "learn from their mistakes"). In this paper, we argue that existing deep reinforcement learning techniques can be applied to query planning. These techniques can automatically tune themselves, alleviating a massive human effort. Further, deep reinforcement learning techniques naturally take advantage of feedback, learning from their successes and failures. Towards this goal, we present ReJOIN, a proof-of-concept join enumerator. We show preliminary results indicating that ReJOIN can match or outperform the Postgres optimizer.
READ FULL TEXT