物化视图、强化学习和物化视图的生成

本文探讨了如何通过深度学习和整数线性规划解决数据库中物化视图选择的问题。作者提出一种神经网络模型评估查询收益,并将子查询选择转化为ILP,借助马尔可夫决策过程和强化学习模型提升效率。关键挑战包括评估视图效益和智能子查询挑选。

摘要:

物化视图是减少冗余计算的重要方法,需要现在的方法需要DBA手动生成物化视图。

作者提出的方法,挑选一个有用的子查询来生成物化视图。

但是有两个挑战

(1)怎么评估用一个物化视图来进行一个查询的收益。

(2)怎么挑选合适的子查询来生成物化视图。

(1)为了应对这个挑战,作者提出了一个基于神经网络的方法来评估使用物化视图回答查询的收益。在这个方面,作者从多个视角提取了重要的特征然后设计了有效的编码模型来将这些特征转换为隐藏表示。

(2)为了应对这个挑战,作者将挑选合适的子查询的问题建模为一个整数线性规划问题,他的目的是最大化效用通过选择一些合适的子查询来进行物化。设计了一个迭代的方式挑选一些子查询来进行物化。但是这种方式不能保证解的收敛性,所以为了解决这个问题,是作者将迭代的优化过程建模为一个马尔可夫的决策过程,然后用一个深度强化学习模型来解决这个问题。

从摘要中引出的问题

(1)什么是子查询?

(2)什么叫整数线性规划问题?

(3)马尔可夫决策过程是怎么回事?

(1)子查询?

一般来说对于一个查询可以嵌套另一个子查询,即:在一个SELECT查询内在嵌入另一个SELECT查询,外层的SELECT语句相较于外部查询内层的SELECT语句叫子查询,子查询可以进行多层的嵌套,但是每层都需要用()括起来,子查询可以用在SELECT语句中还可以用在INSERT、UPDATE、DELETE语句中,子查询是一个完整的SELECT语句,是其他SQL语句的一部分,大部分的子查询是在SELECT语句的WHERE子句中实现的,也可以放在FROM子句中当虚拟表。

例子:转自(35条消息) SQL——子查询_weixin_48052275的博客-CSDN博客_sql子查询

有两个数据表:

(1)departments表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值