Gradient-Based Join Ordering