
对query的编码方式会影响下游基数估计的准确性,以往的one-hot编码方式无法捕捉复杂语义环境,例如查询的结构,数据库模式的定义和列的分布差异。为了解决这个问题,作者提出了一个新的预训练SQL表示模型。它将语言表示方法扩展到SQL查询。我们提出了一个自动机来编码查询结构,并应用一个图神经网络来编码以查询为条件的数据库模式信息。然后,通过采用注意力机制,建立了一个新的SQL编码器,以支持即时的查询感知模式链接。在真实数据集上的实验结果表明,用我们的查询表示法取代单次编码可以显著提高现有基于学习的模型在几个数据库任务上的性能。
目录
问题描述
数据库随着业务的复杂变得功能更加多样,其中基数估计,连接顺序选择,开销预估和参数调整成为数据库中最为重要的功能。在这些任务中不可避免的需要对SQL查询指令进行编码。
现有方法与不足
现有的编码方式多基于one-hot encoding,例如MSCN使用one-hot编码方式对query进行编码,并训练回归模型预测基数。但这种基于one-hot的编码方式有其内在的劣势。
- one-hot编码简单地将查询中子句编码连接在一起,忽略了结构信息。
- 表和列的编码使用无上下文模式的独立编码,忽略数据库模式的定义
- 查询中所有数值都被规约到一个统一的范围,忽略了列与列之间的分布差异
本篇论文核心观点
针对上述问题,论文指出在对SQL进行编码时要引入数据的schema信息和查询的结构信息。本文提出PreQR (pre-training Query Representation)是一种不基于one-hot,而主要利用基于自动机的SQL编码方式,在表示了SQL内在信息的同时,利用BERT进一步向SQL编码中引入数据库schema的信息。该预训练模型只需对一个数据库训练一次,并且可以利用在多个下游任务中。
本篇论文提出方法操作
图3展示了PreQR的结构,其中包含了3个模块:Input Embedding, Query-aware Schema和SQLBERT。

Input Embedding
Input Em

本文介绍了一种新颖的SQL编码方法PreQR,结合自动机和BERT技术,捕捉查询结构和数据库模式,从而在基数估计等任务中显著提升性能。实验对比证明了结构编码和schema信息的重要性。
最低0.47元/天 解锁文章
858

被折叠的 条评论
为什么被折叠?



