TailorSQL: An NL2SQL System Tailored to Your Query Workload
Kapil Vaidya, Jialin Ding, Sebastian Kosak, David Kernert, Chuan Lei, Xiao Qin, Abhinav Tripathy, Ramesh Balan, Balakrishnan Narayanaswamy, Tim Kraska
TL;DR
TailorSQL introduces a workload-aware NL2SQL system that harnesses historical query logs to generate schema and hint documents, and to tailor document embeddings and retrieval for a given database. By offline extracting hints from past queries and employing a context-aware, class-specific retrieval strategy paired with a Bayesian-optimized context allocator, TailorSQL achieves higher execution accuracy and lower latency compared to non-workload-aware baselines. A bandit-based abstention policy guards against performance degradation when workloads drift, enabling graceful fallback to generic NL2SQL. Across three benchmarks, TailorSQL demonstrates consistent accuracy gains (up to 22.7%) and significant prompt-size reductions (2–15x) while remaining compatible with existing NL2SQL methods.
Abstract
NL2SQL (natural language to SQL) translates natural language questions into SQL queries, thereby making structured data accessible to non-technical users, serving as the foundation for intelligent data applications. State-of-the-art NL2SQL techniques typically perform translation by retrieving database-specific information, such as the database schema, and invoking a pre-trained large language model (LLM) using the question and retrieved information to generate the SQL query. However, existing NL2SQL techniques miss a key opportunity which is present in real-world settings: NL2SQL is typically applied on existing databases which have already served many SQL queries in the past. The past query workload implicitly contains information which is helpful for accurate NL2SQL translation and is not apparent from the database schema alone, such as common join paths and the semantics of obscurely-named tables and columns. We introduce TailorSQL, a NL2SQL system that takes advantage of information in the past query workload to improve both the accuracy and latency of translating natural language questions into SQL. By specializing to a given workload, TailorSQL achieves up to 2$\times$ improvement in execution accuracy on standardized benchmarks.
