提问:BI 能够拖拉拽取数,为什么还要通过SQL取数呢

现在的 BI 工具已经越来越成熟了,我们还有必要学习 SQL 取数吗。或者说相比 BI 的拖拉拽取数,SQL 取数从性能上、效率上、处理问题复杂度上有什么优势吗

那么针对这个问题,第一,首先我们要知道目前数据基本上是保存在你的数据库或者数据仓库里面,而大多数的数据库或者数据仓库是支持 SQL 的,那么这也就说明你想要获得数据,那么会写 SQL 是你的一项基本能力,虽然现在的BI产品很智能,可以通用拖拉拽的方式获得数据,但是背后的原理也是通过程序写 SQL 的方式去获得的数据,所以 SQL 还是基础需要的能力。第二从性能上来讲,可能因为程序标准化的问题(没有办法针对每一个客户的需求都有最好的解决方案),可能有些时候你通过自己写 SQL 进行一些优化,例如 MySQL
中用 IN 关键字替换 OR ,使用 LIMIT ,或者其它一些优化手段,根据不同的数据库有自己不同的方法,对比于 BI 产品更加灵活。

2 个赞

自己写 SQL 性能更好,数据量或表关联较多时,能够明显提升效率。
另外有些 SQL 能实现的功能 BI 工具可能无法使用拖拉拽来实现。

那我们的代码有没有可能往这个方向上优化优化呢,就是性能更好的方向 :smiley:

@IUUI 所说,程序标准化问题,很多时候 SQL 优化也是和业务需求、业务逻辑、表结构设计甚至数据源的类型以及部署方式相关的,程序在做处理的时候很难针对所有场景提供最好的解决方案,而了解自己业务的使用者可以更容易的写出高效的 SQL,并根据需求的变化和数据的增量来不断优化。

1 个赞

了解,感谢大佬回复