  Query rewrite, which aims to generate more efficient queries by altering a
SQL query's structure without changing the query result, has been an important
research problem. In order to maintain equivalence between the rewritten query
and the original one during rewriting, traditional query rewrite methods always
rewrite the queries following certain rewrite rules. However, some problems
still remain. Firstly, existing methods of finding the optimal choice or
sequence of rewrite rules are still limited and the process always costs a lot
of resources. Methods involving discovering new rewrite rules typically require
complicated proofs of structural logic or extensive user interactions.
Secondly, current query rewrite methods usually rely highly on DBMS cost
estimators which are often not accurate. In this paper, we address these
problems by proposing a novel method of query rewrite named LLM-R2, adopting a
large language model (LLM) to propose possible rewrite rules for a database
rewrite system. To further improve the inference ability of LLM in recommending
rewrite rules, we train a contrastive model by curriculum to learn query
representations and select effective query demonstrations for the LLM.
Experimental results have shown that our method can significantly improve the
query execution efficiency and outperform the baseline methods. In addition,
our method enjoys high robustness across different datasets.
