java - 有没有办法查看执行查询背后的日志?
问题描述
我正在开发一个使用 i-net Opta2000 驱动程序在 Java 应用程序中进行数据库连接的项目。我被困在一个复杂的查询需要大约 2 分钟的时间来执行但从查询浏览器执行时相同的查询需要 2-5 秒的时间。此外,当我在应用程序中对该查询进行硬编码并执行它时,它再次只花了几秒钟的时间。
然后我在网上搜索了驱动程序日志,发现了我在申请中使用的以下语句 - DriverManager.setLogStream(System.out);
而且我在执行查询之前和之后都写了日志来检查时间戳。但是,经过这个日志记录(上面提到的驱动程序日志记录)后,我发现控件到达执行查询后,它显示 - “connection.close”。有时,它只打印一次,有时两次或三次,有时我根本看不到它。这个“connection.close”超出了我的理解。如果有人可以解释我为什么会看到这个,以及是否有任何其他方式可以查看执行查询语句背后的日志记录。
我搜索并尝试在 log4j 中设置数据库日志,但这无法解决我的问题。
解决方案
推荐阅读
- reactjs - 警告:FindNodeDom 在使用 Collapse 时在 Strictmode 中被弃用(来自 react-bootstrap)
- angular - Angular如何映射键和值
- python - Python def 语句参数调用
- html - 如何将 Word 文档转换为 HTML 并将其作为本地文件加载到 WKWebView 中?
- angular - Angular:主题未更新组件
- element - Silverstripe 4 Elemental GroupedDropdownfield inline_editable
- algorithm - 找到一种算法来动态优化队列的大小
- c++ - 在类中声明具有类型特征的友元函数的问题
- firebase - Flutter + Firebase:如何查看图像取决于 id?
- api - CRUD 应用程序是否始终是 Web 世界中的 API?