Non-Relational Optimization of Relational Queries

This project was supported by NSF under research grant IIS-0091928 from 2000 to 2003, with a no-cost extension in 2004.

The thesis underlying this line of work is that SQL is an inherently redundant language in which some business queries cannot be expressed in a simple way (and sometimes, not with a single query). But since SQL is here to stay (and databases are only growing bigger), we need to optimize it the best way we can. This project proposes to go outside the relational model and look for other ways to implement SQL queries which have the potential to yield better results for some queries, especially those used in Decision-Support environments.

We focused on queries with nested subqueries. There were two main aims to our research:

To address the first issue, we came up with the for-loop operator, which allows us to compute some aggregates on the fly. To address the second issue, we developed a novel approach: using nested relational algebra for query trees and query plans. Details on each approach are provided in the papers below (earlier papers at the top, newer papers at the bottom).

Experimental work was carried out in the Database Laboratory of the Department of Computer Engineering and Computer Science of the Speed Scientific School at the University of Louisville, which I direct. Feel free to contact me at abadia@louisville.edu.