一个复杂的 sql 如果同时包含了 join ,子查询,聚合之类的,就很难阅读,不知道大家有没同感的,以及有什么好办法解决?
![]() |
1
hooych 2024-04-25 14:22:34 +08:00 ![]() 扔给 GPT 啊
|
![]() |
2
qi1 2024-04-25 15:15:32 +08:00
多行 sql 上面,写清楚注释。注释内容包括,引用到的表名,查询出来的结果,和数据关系,如 1:1or 1:n 。这样下次看到注释的时候 基本上就知道 sql 怎么写的
|
![]() |
3
8355 2024-04-25 15:49:53 +08:00
不用啊,这种慢查何必折腾它,等 dba 喊你优化啦。
|
4
v1nce 2024-04-25 16:33:57 +08:00 ![]() 逻辑尽量写在代码里,sql 尽量简单。不管注释多清晰,逻辑过多的 sql 都会让人头晕,极难维护。大多数情况下,只要索引用的没问题,多几次数据库链接的损耗远比维护复杂 sql 要能接受的多。
|
![]() |
5
yy77 2024-04-25 16:53:14 +08:00
可以用回车分开若干行的,也可以用--来注释。
|
6
hnliuzesen 2024-04-25 17:03:16 +08:00
除了加注释,还可以用 WITH 把一些查询提取成有名字的 CTE
我用的是 PostgreSQL |
![]() |
7
xiangyuecn 2024-04-25 17:10:34 +08:00
换行+缩进。注释不注释倒无所谓,有前面两个可读性强一百倍。搭配上注释 就跟普通编程语言没啥区别了
|
8
StrangerA 2024-04-25 17:42:20 +08:00
粘贴进 intellij 里 ctrl+shift+L ,GPT 的话等他慢慢出来急死个人。
|
9
dayeye2006199 2024-04-26 13:45:58 +08:00
CTE
|
![]() |
10
MillaMaxwell 2024-04-26 14:40:10 +08:00
|