DB2 的 SQL 语句性能工具用得好,真的能省不少事儿。语句事件监测器是个挺实用的小家伙,能帮你把 SQL 语句执行过程记录得明明白白。连接数据库、创建监测器、启用、关闭,再导出结果,流程不复杂,配置起来也比较快。

比如你只要敲几行命令,就能知道某条SELECT语句到底慢在哪。像这样:

db2 "create event monitor smevm for statements write to file 'c:\smevm'"

执行完之后,再通过db2evmon命令把监测内容输出成文本,快就能定位问题 SQL。

不过哦,监测器开着的时候会拖慢数据库,是在线事务系统,记得用完就set state=0关掉。

另外原始输出是纯文本,看着不太直观。建议你用文里提到的 C 语言小工具,把结果转成能导入 DB2 表的格式,这样你就能用 SQL 去哪些语句最耗时、哪些语句最频繁,方便。

如果你想深入挖掘 SQL 的性能瓶颈,又不想陷在一堆繁琐配置里,这套方法还是蛮值得试一试的。要是你用的就是 DB2,那更是不能错过。