Bug 1 p6spy查询怪现象
SELECT DISTINCT convert(char(10),date_ssqqr,111),convert(char(10),date_ssqzr,111) FROM mid_nsr_sbxm WHERE id_nsr='3204'
这句sql在p6spy中执行后返回的log是 "= 2006/01/01",而
SELECT DISTINCT convert(char(10),date_ssqqr,111),date_ssqzr FROM mid_nsr_sbxm WHERE id_nsr='3204'
执行后返回 "= 2006/01/01, date_ssqzr = 2006-03-31 00:00:00.0",而
SELECT DISTINCT date_ssqqr,date_ssqzr FROM mid_nsr_sbxm WHERE id_nsr='3204'
返回 "date_ssqqr = 2006-03-01 00:00:00.0, date_ssqzr = 2006-03-31 00:00:00.0"
怀疑是p6spy对匿名字段查询有bug. 再试试下面的sql:
SELECT DISTINCT convert(char(10),date_ssqqr,111) as d,convert(char(10),date_ssqzr,111) as b FROM mid_nsr_sbxm WHERE id_nsr='3204'
果然返回值是正确的:"b = 2006/03/31, d = 2006/01/01",但顺序颠倒.
Bug 2 weblogic连接池也不听指挥了
上面的bug出现在环境:weblogic 8.1 sp4 + p6spy 1.1+sybase 12.5中
我建立了四个连接池,其中a,b直接用sybase的jdbc2驱动连接某远程数据库服务器的两个不同的sybase库,另外两个连接池ap,bp则分别对前面的两个连接用p6spy包装,作为测试和调试工具.
最近在使用ap时发现了Bug 1(以前没有发生这种现象),于是将数据源指向a,重启weblogic,更奇怪的事情发生了,p6spy的日志表明,数据源仍然在使用p6spy驱动执行sql..删除ap,问题依旧,直到将bp也删除了,这时weblogic才开始使用连接池a.
不得其解,特意备忘一下.(换成p6spy 1.3,问题依旧)
分享到:
相关推荐
**P6Spy 简介** P6Spy 是一个开源的数据库监控工具,它能够记录并分析应用程序与数据库之间的所有SQL交互。对于开发者而言,P6Spy 是一个强大的调试和性能分析工具,尤其在使用MyBatis或Hibernate等ORM框架时,能够...
- 修改`Driver Class`字段,从原数据库驱动(如`oracle.jdbc.driver.OracleDriver`)更改为P6Spy的代理驱动`com.p6spy.engine.spy.P6SpyDriver`。 - 配置`URL`属性,保持原有数据库连接URL格式,但添加P6Spy特定的...
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
1. **SQL日志记录**:P6Spy可以捕获并记录所有执行的SQL语句,包括原始的SQL、执行时间、返回结果等,这对于追踪数据库操作和性能分析非常有用。 2. **日志格式自定义**:P6Spy允许用户通过配置文件定制日志输出...
一旦启用 P6Spy,每次应用程序执行 SQL 语句时,P6Spy 都会记录这些 SQL 的详细信息,包括执行前后的原始 SQL、执行参数、返回结果以及执行时间等,这对于性能调优和问题排查非常有用。 【排除ResultSet】 P6Spy ...
P6Spy通过拦截并记录JDBC调用来获取数据库查询、更新和其他操作的详细信息,这对于性能优化、调试和审计非常有用。它的主要功能包括: 1. **SQL日志记录**:P6Spy能够捕获并记录应用程序执行的所有SQL语句,包括...
P6Spy是一个强大的开源工具,专门用于监控JDBC连接,特别是在SpringBoot环境下,它可以提供对Oracle数据库查询执行时长的详细分析。P6Spy的工作原理是通过代理模式,拦截SQL语句并记录其执行情况,这有助于开发者...
1. **日志记录**:P6Spy 可以记录所有的SQL语句,包括执行时间、执行结果等,这对于识别性能瓶颈和优化SQL语句非常有用。 2. **性能监控**:通过分析日志,可以追踪SQL的执行时间,帮助找出慢查询,从而进行性能优化...
在介绍如何在MyEclipse中配置P6Spy以及导入其源码之前,首先需要了解P6Spy是一款什么工具。P6Spy是一个开源的应用程序,它允许开发者在Java应用程序中监控和记录对数据库的SQL调用。这对于数据库查询的性能分析和...
在原版P6Spy中,它会捕获并记录查询结果集(`ResultSet`),这对于调试和性能分析非常有用。但根据描述,这个修改版去除了这一特性,可能是为了减少日志输出的复杂性,或者因为某些场景下不需要查看`ResultSet`的...
P6Spy可以帮助我们监控这些操作,记录执行的SQL语句,包括它们的执行时间、返回结果等信息。这有助于识别可能引起性能瓶颈的慢查询,或者发现可能导致错误或异常的数据输入。 配置P6Spy通常涉及以下几个步骤: 1. ...
在这种情况下,P6Spy是一个非常有用的工具。P6Spy是一个开源的JDBC代理库,它允许我们监控并记录应用通过JDBC执行的所有数据库操作,包括那些由Hibernate生成的SQL语句。它不仅可以提供完整的SQL语句,还能够提供...
3. **日志记录**:为了监控SQL,我们需要记录每个查询的执行时间、参数、返回结果等信息。可以使用标准的日志框架如Log4j或SLF4J来实现。 4. **性能分析**:计算SQL语句的执行时间,分析慢查询,识别性能瓶颈。这...
这些信息包括但不限于SQL语句、执行时间、返回结果等,这对于分析性能瓶颈、找出慢查询或调试SQL问题非常有帮助。 通过分析P6Spy的日志,你可以: - **识别慢查询**:查找执行时间过长的SQL语句,对其进行优化。 - ...
p6spy去掉结果集版 我的博客有相关的使用说明.
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来...
`SQL Profiler`和`P6Spy`就是两个用于此目的的工具。它们可以帮助开发者识别性能瓶颈,理解数据库操作的效率,并进行必要的优化。现在我们来详细探讨这两个工具的配置及其相关知识。 首先,`SQL Profiler`是微软SQL...
- **SQL 监听**:P6Spy 能够捕获应用程序发出的所有 SQL 语句,包括参数、执行时间和返回结果。 - **日志输出**:它将 SQL 语句及其相关信息以自定义格式输出到日志文件,方便分析和调试。 - **性能分析**:通过...
【p6spy精简版-跟踪SQL工具】是一款专为数据库操作监控设计的工具,它通过对JDBC驱动的拦截,实现对SQL语句的透明跟踪。这个精简版旨在简化p6spy的原生配置和使用流程,让更多非开发人员也能便捷地利用此工具来监控...
- **SQL日志记录**:P6Spy 能够捕获并记录所有的SQL语句,包括执行时间、执行结果等信息,这使得开发者能够全面了解应用程序中的SQL行为。 - **性能分析**:通过收集和分析SQL执行数据,P6Spy可以帮助识别慢查询,...