The methodology applied to the implementations of Q8-22 can be summarized as "create something that works". The methodology chosen to implement Q1-7 is unknown to me. For robust benchmarks, we should align on a few key questions and iterate over the existing queries to make them adhere to our consensus.
(Some) Questions:
How strictly do we want to follow the SQL specification (e.g., using a merge vs. isin)?
How do we order joins?
Do we apply manual optimizations (and if so, which)?
How do we deal with SQL syntax that does not translate well to the pandas API (e.g., EXISTS)?
This will probably take some time and won't be a top priority, but even jotting down a few thoughts might already be a good start.
The methodology applied to the implementations of Q8-22 can be summarized as "create something that works". The methodology chosen to implement Q1-7 is unknown to me. For robust benchmarks, we should align on a few key questions and iterate over the existing queries to make them adhere to our consensus.
(Some) Questions:
merge
vs.isin
)?pandas
API (e.g.,EXISTS
)?This will probably take some time and won't be a top priority, but even jotting down a few thoughts might already be a good start.