刚刚将平台从 mySQL 迁移到 firebird,我发现很难找到一种可接受的方法来捕获从 Java .jar 应用程序传递到数据库服务器 (Firebird) 的 SQL 命令。我需要分析命令以及在执行时间等方面传递的查询的“成本”。
使用 MySQL 可以使用 maatkit toolkit但不幸的是,这似乎不适用于 Firebird。
有没有人有合适且可比较的 maatkit for Firebird 方法?或者使用 strace 或类似的?
最佳答案
您可以使用 Firebird 跟踪工具及其 API 来生成此信息。详情见Trace and Audit Services在 Firebird 2.5 发行说明和 Audit and Trace Services in Firebird 2.5 中.
您可以配置写入日志文件的服务器端跟踪 session ,或使用服务 API 执行用户跟踪 session (根据您的权限,您将只能看到自己的查询或所有内容)。
firebird 安装包括一个命令行工具来访问用户跟踪 API (fbtracemgr.exe)。 Jaybird 2.2 包含对用户跟踪 API 的基本访问,但老实说,它还不是真正的用户友好型(而且有点脆弱)。有几种(商业)第三方工具可以以更加用户友好的方式访问 Trace API:
关于java - 在 Ubuntu 下监控对 Firebird 的 SQL 调用(Java 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195672/