Applying Machine Learning to Query Optimization