系统内置函数是如何动态适应不同数据库的?

问题:新增列中,有丰富的系统函数,远超数据库自带的函数。 对于“抽取数据”来说,比较容易理解,因为抽取后,实现了数据库统一。 但是对于“实时数据”来说,是直接连接的数据库。那么,系统是如何实现函数功能的? 原理是什么?

我的猜测:

猜测1:系统中按数据库类型做了对应关系,系统动态转成相应数据库的SQL语法?  这工作量好大,而且不利于快速适配新数据库吧?

猜测2:内存中用JS、java等程序代码转换? 大数据量时,内存很容易溢出吧,毕竟像max、min 这些函数,肯定是对全量数据进行统计啊

特别好奇,特此咨询,期待您的解答。

image.png

FineBI puwei 发布于 2021-10-9 11:35
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-10-9 11:40

这个是帆软自带解释了函数,调用数据库的时候,就是标准的sql语句

自带函数在帆软内部解析完成,到数据库变成标准sql语句了

  • puwei puwei(提问者) 有的函数,数据库并不支持。硬解析和翻译,感觉好麻烦的样子
    2021-10-09 13:17 
  • snrtuemc snrtuemc 回复 puwei(提问者) 他是先在帆软内部把函数解析了,在传递给数据库,所以帆软自带函数都在内部解析,和外界数据库没关系了
    2021-10-09 13:19 
  • 2关注人数
  • 393浏览人数
  • 最后回答于:2021-10-9 11:40
    请选择关闭问题的原因
    确定 取消
    返回顶部