Efficiently Computing Join Orders with Heuristic Search