Want to optimize your relational database queries? This paper explores the challenge of optimizing queries built upon relational algebra operations such as select, project, and join. A central component of the approach is the introduction of a 'tableau,' a matrix-based representation of query values, which facilitates query optimization. The optimization problem is reframed as finding a minimal tableau equivalent to a given one, and functional dependencies are leveraged to infer additional tableau equivalences. While the general optimization problem is NP-complete, the authors identify a polynomial-time algorithm for optimizing tableaux corresponding to an important subclass of queries. The subclass of queries is an important discovery. This research provides a valuable framework for understanding and addressing the complexities of query optimization in relational databases, offering both a theoretical foundation and a practical algorithm for improving query performance. This approach has implications for database design and query processing, especially in large-scale data management systems.
Published in ACM Transactions on Database Systems, this paper aligns with the journal's emphasis on database theory and optimization. It tackles the problem of query optimization, which is a fundamental concern in database systems. The application of functional dependencies and the identification of a polynomial-time algorithm further enhance the relevance of the work.