andream7 / apijson-db2

腾讯犀牛鸟开源人才培养计划 APIJSON 接入 db2
1 stars 1 forks source link

db2不兼容EXPLAIN #3

Open andream7 opened 3 years ago

andream7 commented 3 years ago

image 如果"@explain": true ,也就是开启性能分析,将会报错。

生成的语句如下:

EXPLAIN SELECT * FROM "DB2ADMIN"."apijson_user" WHERE  (  ("id" = 82007)  )  ORDER BY "id" LIMIT 1

该语句报错,去掉EXPLAIN后可以正常运行。

andream7 commented 3 years ago

通过查阅相关资料,db2好像是不支持这个语法,但是可以通过以下方式使用Explain。 设定 Explain 模式,执行SQL,结束Explain。

1. db2 connect
2. db2 set current explain mode explain
3. db2 -tvf sql.txt
4. db2 set current explain mode no

之后可以选用 db2exfmt 命令格式化输出:

5. db2exfmt -d sample -o sql.explain.txt
6. cat sql.explain.txt