如何根据所有的业务 sql,来解析出业务 sql 的模版?

2020-12-24 17:07:41 +08:00
 MartinWu
当前有这么一个需求,mysql 上记录了所有的慢查询,我想根据此慢查询日志文件,来总结出若干个业务 sql 的模版,相当于腾讯云的 mysql 提供的 sql 模版,那样的功能。
3410 次点击
所在节点    MySQL
15 条回复
MartinWu
2020-12-24 17:08:48 +08:00
xi 像这样的。
MartinWu
2020-12-24 17:09:59 +08:00
我找了一些 python 的模块,发现并不能很好的解析到所有的 sql 语句,对,甚至无法正确解析。我想的是,找到那么一个库,能准确分析出 sql 中的所有元素,这样我也好去汇总。
qiayue
2020-12-24 17:13:55 +08:00
看起来是把 = 之后的数值改成问号
MartinWu
2020-12-24 17:16:46 +08:00
@qiayue 大概是如此,但也不尽如此,还有例如 in,也需要去掉值汇总,也有例如联表查询 tablea.key = tableb.key 时,两个都不可以省略。
YouLMAO
2020-12-24 20:38:12 +08:00
惊, 你们 sql 是裸写的, 居然不封装函数的, 封装了有啥模板必要性
CoderGeek
2020-12-24 20:55:24 +08:00
可变参数全改成?嘛 没写过 py 现成的导入 slow 文件的工具有的 mysql 自带把 前 100 ?
MartinWu
2020-12-24 23:20:01 +08:00
@YouLMAO #5 我们还有业务是拼 SQL 的骚操作。。。。
MartinWu
2020-12-24 23:20:22 +08:00
@CoderGeek #6 请问下是哪个工具?
opengps
2020-12-24 23:32:01 +08:00
这种工具得花点精力找找,着色的容易,很多富文本都支持,格式化的也不算难,但是同时支持格式化着色的,似乎没见过成品
loading
2020-12-24 23:34:06 +08:00
应该从业务流程重新抽象出模板,万一 sql 压根就绕了弯路,你再怎么整都没意义。
ETiV
2020-12-25 06:52:58 +08:00
https://v2ex.com/t/738704
LZ 你可以把你的这个问题 丢给这个帖子的 LZ😂
给他一个学习的目标、动力
MartinWu
2020-12-25 10:06:06 +08:00
@ETiV #11 你这是机智。。。。
zczy
2020-12-25 10:15:08 +08:00
直接用 calcite 解析试试呢,解析成 SqlNode
0x0208v0
2023-01-27 16:13:55 +08:00
楼主这个问题你解决了吗?最近遇到了类似的问题,搜索到了这个帖子
MartinWu
2023-01-29 17:19:48 +08:00
@v2exblog 我最后是用 Percona Monitoring and Management

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

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

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

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

© 2021 V2EX