【DTSE Tech Talk 精选问答】NO.61丨智能优化揭秘 - GaussDB数据库查询重写的自动挖掘与生成
【摘要】 在数据库世界里,查询重写是提升性能的关键环节。现有系统依赖人工发现重写规则,过程缓慢且费时。而WeTune的诞生,彻底改变了这一现状!WeTune是一种革命性工具,能自动发现新重写规则,通过枚举和验证等效查询计划,大幅优化查询性能。加入我们的直播,共同探索数据库查询优化的前沿技术,见证性能提升的神奇瞬间!
在数据库世界里,查询重写是提升性能的关键环节。现有系统依赖人工发现重写规则,过程缓慢且费时。而WeTune的诞生,彻底改变了这一现状!WeTune是一种革命性工具,能自动发现新重写规则,通过枚举和验证等效查询计划,大幅优化查询性能。加入我们的直播,共同探索数据库查询优化的前沿技术,见证性能提升的神奇瞬间!
Q:WeTune 是否可以集成到DevOps流程中?是否支持SQL调优顾问功能?
A:可以作为外部改写工具,根据集成后挖掘的规则提供优化SQL的工具。Q:如何避免规则穷举?如何由小规则生成大规则?
A:对于已经发现的规则使用,GaussDB结合Wetune合作了新的规则匹配算法,一定程度上避免暴力枚举Q:WeTune 是否能提供优化建议和解释? 可以设置定期自动运行优化任务吗?
A:可以作为外部改写工具,根据集成后挖掘的规则提供优化SQL的工具。也可以作为内核查询重写规则引擎,直接优化查询的执行计划。Q:WeTune在枚举和验证等效查询计划时使用了哪些技术?
A:基于 SMT(Satisfiability Modulo Theories)的等价性验证技术保证判定等价一定是等价的改写规则。基于形式化语言的枚举技术来枚举计划,具体可以参考论文。Q:我们怎么评判一个SQL是写得好的?
A:可以使用启发式规则来选择重写规则,比如消除了一些表连接,明显是优的。某些SQL的优秀与否是基于代价的,可以结合代价模型做判断。Q:这个技术用户侧怎么用?会直接给用户返回一个优化过的SQL吗?
A:基于 SMT(Satisfiability Modulo Theories)的等价性验证技术保证判定等价一定是等价的改写规则。基于形式化语言的枚举技术来枚举计划,具体可以参考论文。Q:WeTune 的学习和优化机制是基于机器学习吗?是否可以优化存储过程和触发器?
A:不是基于机器学习,主要是做语义等价改写。Q:查询重写未来会怎么在产品中体现?
A:目前是结合GaussDB做到内核中,根据挖掘的规则直接优化SQL,从而优化执行计划,也可以支持用户自定义添加规则。Q:WeTune是否有办法应用于现有视图上?
A:视图在内核处理的时候会被展开成语法树,wetune可以对语法树进行等价变化。Q:WeTune 是否有图形用户界面? 在优化过程中,用户是否需要暂停数据库操作?
A:目前没有图形界面,不需要暂停数据库使用,可以热加载热生效。Q:如何评估WeTune发现重写规则的有效性?
A:首先等价性验证保证有效性,其次使用启发式规则来选择重写规则,比如消除了一些表连接,明显是优的,这些规则默认生效。对于部分场景化的规则可以依据代价模型给出代价评估更低的SQL。Q:WeTune 处理复杂查询的能力如何? 支持哪些数据库系统?
A:目前结合GaussDB做到内核中,但wetune1.0有外部改写工具,实现SQL to SQL的改写。Q:WeTune 对查询性能的优化程度如何量化?有哪些参考指标?
A:目前使用启发式规则来选择重写规则,比如消除了一些表连接,明显是优的。或者结合代价模型给出代价评估更低的SQL。Q:WeTune 的优化过程是否可以回滚?
A:目前没有考虑回滚。Wetune是一种查询优化方法,不改变数据,从优化执行的逻辑讲,选择了某种优化,目前的数据库逻辑都是走下去的。Q:WeTune 是否可以优化数据库链接池的使用和配置?
A:是做SQL的优化,目标是把一些不好优化的SQL改成更好的SQL,比如消除部分冗余或者等价下推某种条件。Q:有用数据库事务吗?
A:Wetune是一种查询优化方法,不改变数据,从优化执行的逻辑讲,选择了某种优化,目前的数据库逻辑都是走下去的。Q:规则能表达的粒度和能力范围?
A:目前定义了谓词,子集等语法能力,能够适配条件下推,冗余连接消除,distinct消除,子链接改写一些类似A表达改写成B表达的能力。可以参考论文得到大致能力范围。Q:能不能根据SQL执行频率,自动维护索引?
A:是做SQL的优化,目标是把一些不好优化的SQL改成更好的SQL,比如消除部分冗余或者等价下推某种条件。## 想要了解更多数据库相关知识,欢迎观看[DTSE Tech Talk 系列技术直播](https://bbs.huaweicloud.cn/webinar/100031)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)