开发者社区 > 大数据与机器学习 > 正文

我现在基于Hologres引擎搭建了一套自动化数据分析平台,其中sql是自动生成的,当sql较复杂?

问题1:我现在基于Hologres引擎搭建了一套自动化数据分析平台,其中sql是自动生成的,当sql较复杂时,执行会比较慢,有大佬可以指导一下吗? 问题2:这个问题很大呀。。

方法论上一般就是先通过query log找到慢的sql https://help.aliyun.com/document_detail/216963.html?spm=a2c4g.183398.0.i2

然后根据query log里展示的plan和调优文档去对比,看是不是符合调优文档的某些bad case https://help.aliyun.com/document_detail/183398.html?spm=a2c4g.162563.0.0.5bc63f68R5OGsR这个问题是有点大,主要原因在于我的sql是自动生成的,无法按照具体物理表的情况取调优所以找慢sql和单独表的调优对我不是太适用,是想看看有没有标准的优化方案,sql/user分级是怎么做的,这块不太了解,sql之间相互干扰这个暂时不存在,因为并发还比较少,主要是单sql的优化,我现在单独运行一个复杂sql需要花费1.5秒左右,能优化到500ms是最好的

展开
收起
真的很搞笑 2023-05-16 17:39:08 141 0
1 条回答
写回答
取消 提交回答
  • 回答1:有个文档,可以参考看看: https://help.aliyun.com/document_detail/183398.html?spm=a2c4g.461881.0.0.79926a8f05san2 还有就是把explain analyze <最关键的慢sql>; 的结果发出来看看。 回答2:优化有修改物理表的属性,也有修改sql。

    你可以看看是不是靠前者就能提升性能。可以针对下sql/user进行分级? 控制下影响面? 比如两实例, 一个是识别过比较稳定的sql, 一个是跑未知的。 我理解你提到的事情可能包含两部分: 1. 降低sql之间相互干扰 2. 真正慢sql优化。 如果想要降低sql之间干扰,可以考虑: 将比较复杂sql(简单点判断下长度超过阈值)或按user路由到一个独立的实例(只读实例), 减少user与user之前的干扰, 以及bad sql影响正常的sql? 优化sql层面, 比较通用是扩大资源, 其它可以请教下 @上唐 看看有没有什么好的想法。 ,此回答整理自钉群“实时数仓Hologres交流群”

    2023-05-16 17:49:00
    赞同 展开评论 打赏

大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    自动化、智能化网络运维 立即下载
    从自动化到智能化的阿里运维体系 立即下载
    小红书移动端自动化数据采集实践 立即下载