写一点最近看回复的感想

2024-02-01 13:21:49 +08:00
 Braisdom

1 )大家对 DSL 普遍感到鄙视,认为作用不大,实现难度也不高 其实所有高级编程语言都是 DSL ,只不过是语言的特性多与少,Agile Query 的确设计了一种新的 DSL ,但也有程序编译的所有过程,从词法 -> 语法 -> 语义 -> IR -> 有向无环图,最终构建所有子查询,再优化子查询,输出 SQL 。

2 )对 BI 的认知误区 感觉 BI 系统就是要一层一层构建中间数据,这符合程序员的思维,将复杂问题分解成多个问题,逐个解决。Agile Query 提出了一种新的方式,将复杂的过程封装起来,外部无法感知而已,并不是复杂问题不存在了。

4143 次点击
所在节点    推广
53 条回复
Braisdom
2024-02-02 16:04:22 +08:00
@lichao 您知道下面这条表达式生成的 SQL 有多少行吗?:

SELECT
COUNT_IF(GROUP_COUNT(orders.order_id, customers.customer_id) > 2) AS "复购客户数量",
categories.category_name AS "品类(指定关系)",
GROUP_SUM(order_details.quantity * order_details.unit_price, categories.category_name) AS "品类销售额",
SUM(order_details.quantity * order_details.unit_price) AS "销售额"
FROM "329875" LIMIT 2000
Braisdom
2024-02-02 16:06:42 +08:00
@lichao 下面是最终编译的 SQL:
lichao
2024-02-02 16:08:51 +08:00
@Braisdom 多少行都没有关系,行数多不影响可读性、可维护性。

SQL 有问题可参考的学习资料多如牛毛,你的 DSL 有问题或某方面不理解、不知道怎么写,是不是只能加你微信来请教你?
lichao
2024-02-02 16:14:00 +08:00
@Braisdom 看了你贴出来的截图,更加坚信不可能在公司项目上用你的 DSL
Braisdom
2024-02-02 16:14:09 +08:00
@lichao OK ,理解了,对您而言,上面的 SQL 如果有 1000 条,甚至更服复杂一些的,也可以进行重用和断点调试了。
lichao
2024-02-02 16:17:07 +08:00
@Braisdom 如果你的 DSL 可以 20 行 DSL 编译成 1000 行 SQL ,那么这 1000 行 SQL 大概率极其不合理
Braisdom
2024-02-02 16:20:12 +08:00
@lichao 1000 行 SQL 合不合理是另一个问题,本身我就在持续优化,直到最优,这块相信一定可以解决。

关键是假设 1000 行 SQL 是最合理的,你是愿意维护 1000 行 SQL ,还是 20 行 DSL ?
Braisdom
2024-02-02 16:23:09 +08:00
@lichao 即使人肉优化 SQL 也是逐步优化的,只不是我把它变成了机器算法而已
lichao
2024-02-02 16:27:13 +08:00
@Braisdom 不想回答可能性极低的假设
locoz
2024-02-03 10:10:41 +08:00
@Braisdom #30 主要是一个性价比过低的渠道其实就没啥必要发了,扯皮的时间成本和情绪成本拿去跟潜在客户多聊聊,说不定都能多聊出个订单或者是聊出一些目标客户群体会有的潜在需求。
Braisdom
2024-02-03 10:34:16 +08:00
@locoz 非常同意
Braisdom
2024-02-03 10:36:55 +08:00
V2EX 里的朋友,从开始心态就有一些偏激,一类是过度追捧,一类是过度自我,难得有一些客观的评论,
lichao
2024-02-04 09:29:05 +08:00
@Braisdom 既然 V 站网友有这么多问题,是不是可以考虑不在 V 站频繁发推广了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1013359

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX