This document explains the different decisions that an architect can make when designing new queries, and it showcases when, why, and how to use each of the available options at each step. In addition, we cover the different performance optimization methods that the Denodo Platform state of the art optimizer is applying to each query. With this detailed guidance, architects gain insight on how the Denodo Platform actually works and how to optimize their data virtualization solutions.