概述
性能分析攔截器,用於輸出每條 SQL 語句及其執行時間,SQL 性能執行分析, 開發環境使用,超過指定時間,停止運行。有助於發現問題
配置 SQL 性能分析插件
修改 Config.java
添加如下內容
/**
* SQL執行性能分析插件
*/
@Bean
@Profile({"dev", "test"})
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor paginationInterceptor = new PerformanceInterceptor();
// 參數單位為:ms,超過此處設置的ms則該SQL不會被執行
paginationInterceptor.setMaxTime(100);
// 格式化SQL
paginationInterceptor.setFormat(true);
return paginationInterceptor;
}
開發環境使用,線上不推薦使用
- 參數1:maxTime,SQL 執行的最大時長,超過自動停止運行,有助於發現問題
- 參數2:format,SQL 是否格式化,默認 false
設置環境
修改 application.properties
文件添加如下內容,即可完成設置對應的環境
# 環境設置:dev、test、prod
spring.profiles.active=dev
可以針對各環境新建不同的配置文件 application-dev.properties
、application-test.properties
、application-prod.properties
設置完成了對應的環境之后執行一下我之前編寫好的全查詢那個方法,查看效果如下圖所示
發現超過了我設置的時長,這里說明一下上方我配置的為 100,在我運行的時候為了給出效果我改為了 10,發現執行失敗了,提示我們 SQL 執行時間太長,請優化,如上就是本章的核心內容