P6Spy-打印具體sql

簡介

P6Spy 是針對數據庫訪問操作的動態監測開源框架(www.p6spy.com)。利用該框架可以查看sql語句,不是預編譯的帶問號的,而是真正的數據庫執行的sql,更直觀,更簡單。


集成方式

添加jar包依賴

<dependency>
	<groupId>p6spy</groupId>
	<artifactId>p6spy</artifactId>
	<version>2.1.4</version>
</dependency>

修改配置
數據庫連接:spring.datasource.url
數據庫驅動:spring.datasource.driver-class-name

spring.datasource.url=jdbc:p6spy:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver

添加p6spy配置文件
spy.properties文件需要修改以下地方

# 真正使用的數據庫驅動
# p6spy會使用該驅動替換自身的P6SpyDriver
realdriver=com.mysql.jdbc.Driver
# 日誌打印方式,官方自帶的打印日誌沒有將sql格式化,可以自定義日誌打印類
appender=com.p6spy.engine.spy.appender.StdoutLogger
# 日誌打印方式爲文件時日誌文件路徑
logfile     = ../logs/spy.log

效果

1576656426693|1|statement|connection 0|SELECT count(0) FROM yd_group g WHERE 1 = 1 AND group_name = ?|SELECT count(0) FROM yd_group g WHERE 1 = 1 AND group_name = 'name-0'
1576656426706|1|statement|connection 0|select g.* from yd_group g where 1=1    and group_name=? LIMIT ? |select g.* from yd_group g where 1=1    and group_name='name-0' LIMIT 10 

效率

查詢速度影響極小低於1%,可以忽略

序號 直接查詢 p6spy
1 6201 6249
3 6227 6286
4 6277 6334
5 6192 6252
6 6281 6323
平均 6236 6289

查詢速度對比

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章