DB2 数据库的性能调优,DB2EXPLN真是个挺好用的工具。它可以帮你看清 SQL 语句背后到底是怎么跑的,比如用没用索引,是不是在全表扫描——这些都是优化的关键点。

命令行结构也不复杂,基本就分几块:连接参数输出设置程序包SQL 语句,还有个挺好用的图形化输出选项,帮你更直观地理解执行计划。

像要某个 SQL 语句,直接来一句:

db2expln -d mydb -i -g -q "SELECT * FROM users" -t

马上就能在终端看到执行计划。如果想保存起来,就加个-o plan.txt,输出到文件里,方便以后参考。

再比如你在排查一个程序包的问题,用:

db2expln -d mydb -i -g -c mySchema -p myPackage -s 0 -t

这样就能看到绑定信息、节号、存取方案这些,基本上 SQL 跑慢的原因都能摸个八九不离十。

嗯,说到底,DB2EXPLN挺适合你这种喜欢用命令行搞定问题的朋友。只要你搞清楚每个参数是干啥的,基本没啥学习门槛。

如果你还想多研究点执行计划相关的内容,可以看看这些:

如果你经常调 SQL,又用的是 DB2,建议收藏一下这个工具,遇到慢 SQL 就可以第一时间拿它剖一剖,效率高还不折腾。