开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

这条flinksql,拉了全库的数据,where条件没有下推 怎么回事?ojdbc8

select * from my_kb_voc_kbpt_send_record where send_record_id in ('00030024yx67mt0000035387','00030024yx68970000035391');

展开
收起
雪哥哥 2022-11-05 21:46:33 834 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    这个原因大概是ojdbc8 驱动不支持推where条件。

    2023-01-30 17:58:57
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,where的下推在于数据源的支持程度,由于你使用的是ojdbc8,所以它暂时不支持在数据库中下推where的。

    2023-01-30 14:05:46
    赞同 展开评论 打赏
  • 一般来说,WHERE 条件的下推取决于数据源的支持程度和 Flink SQL 的优化程度。

    在你的情况下,可能是因为使用的是 ojdbc8 驱动,它不支持在 SQL 中下推 WHERE 条件。这意味着 Flink SQL 在读取数据之前不能对数据进行过滤,因此它将检索整个表中的所有数据,并在后面进行过滤。这可能导致性能问题,如数据传输和内存使用等。

    要解决这个问题,您可以考虑使用支持 WHERE 条件下推的数据库驱动。

    2023-01-17 16:26:46
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
伍翀|HiveSQL如何平迁到FlinkSQL 立即下载
Phoenix 全局索引原理与实践 立即下载
低代码开发师(初级)实战教程 立即下载