{'fraction_non_alphanumeric': 0.019858156028368795, 'fraction_numerical': 0.0, 'mean_word_length': 6.06, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Outerjoin simplification and reordering for query optimization

Conventional database optimizers take full advantage of associativity and commutativity properties of join to implement e cient and powerful optimizations on select/project/join queries. However, only limited optimization is performed on other binary operators. In this paper, we present the theory and algorithms needed to generate alternative evaluation orders for the optimization of queries containing outerjoins. Our results include both a complete set of transformation rules, suitable for new-generation, transformation-based optimizers, and a bottom-up join enumeration algorithm compatible with those used by traditional optimizers.