第一步、引入maven依赖
<!-- p6spy sql性能分析工具-->
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>3.9.1</version>
</dependency>
第二步、修改yml配置
原先的url
和driver-class-name
修改成p6spy
的驱动和url
形式。
本质上p6spy相当于代理了jdbc操作
server:
port: 8088
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
url: jdbc:p6spy:mysql://localhost:3306/mp_high?useSSL=false&serverTimezone=GMT%2B8
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/mp_high?useSSL=false&serverTimezone=GMT%2B8
username: root
password: 123456
mybatis-plus:
configuration:
map-underscore-to-camel-case: true # 开启驼峰命名
第三步、新建一个spy.properties
文件
spy.properties
文件内容:填入jdbc连接的驱动,以及日志输出配置
driverlist=com.mysql.cj.jdbc.Driver
logMessageFormat=com.p6spy.engine.spy.appender.MultiLineFormat
#logMessageFormat=com.p6spy.engine.spy.appender.SingleLineFormat
databaseDialectDateFormat=yyyy-MM-dd HH:mm:ss
appender=com.p6spy.engine.spy.appender.StdoutLogger
完成!然后就可以在控制台中查看到执行sql返回数据消耗的时间例如:
@Autowired
UserMapper userMapper;
@Test
public void selectTest(){
List<User> users = userMapper.selectList(null);
System.out.println(users);
}
然后就可以根据sql的执行效率分析sql对sql进行优化,当然建议并发执行取平均值作为参考数据