2018-07-06 16:21:21 [DEBUG] fms rule [http-nio-8081-exec-6] d.s.Statement - {conn-10005, stmt-20073} created 2018-07-06 16:21:21 [DEBUG] fms rule [http-nio-8081-exec-6] d.s.Statement - {conn-10005, stmt-20073, rs-50073} query executed. 4.04489 millis. SELECT 1 2018-07-06 16:21:21 [DEBUG] fms rule [http-nio-8081-exec-6] d.s.Statement - {conn-10005, stmt-20073} closed 2018-07-06 16:21:28 [DEBUG] fms rule [http-nio-8081-exec-8] d.s.Statement - {conn-10005, stmt-20074} created 2018-07-06 16:21:28 [DEBUG] fms rule [http-nio-8081-exec-8] d.s.Statement - {conn-10005, stmt-20074, rs-50074} query executed. 3.401779 millis. SELECT 1 2018-07-06 16:21:28 [DEBUG] fms rule [http-nio-8081-exec-8] d.s.Statement - {conn-10005, stmt-20074} closed ···
我开启了druid.sql.Statement的日志,但是没有配置spring.datasource.druid.validation-query=SELECT 1,为啥会不断执行SELECT 1呢?
原提问者GitHub用户dk900912
果您执行 SELECT 1 命令时出现了持续执行的情况,可能是由于以下原因:
数据库性能问题。如果您的数据库负载很高,或者数据库中的表数据量很大,那么执行 SELECT 1 命令的时间可能会很长。您可以使用数据库性能分析工具,例如MySQL的 explain 命令,来分析数据库性能瓶颈,以确定问题所在。
应用程序问题。如果您的应用程序存在问题,例如连接池配置不当、线程阻塞等,那么执行 SELECT 1 命令的时间也可能会很长。您可以检查应用程序的配置文件和代码,以排除这些问题。
为了解决 SELECT 1 命令持续执行的问题,您可以采取以下措施:
优化数据库性能。使用数据库性能分析工具,分析数据库性能瓶颈,并采取相应的措施来优化数据库性能,例如优化索引、分析查询计划等。
检查应用程序配置和代码。检查应用程序的配置文件和代码,以确保连接池配置正确、线程不会阻塞等。
使用缓存。如果您的应用程序中存在频繁查询同样的数据的情况,可以考虑使用缓存,以降低数据库压力。
限制查询范围。如果您的查询范围很大,可以考虑限制查询范围,例如使用分页查询等方式,以减少查询数据量,提高查询性能。
使用性能监控工具。使用性能监控工具,例如MySQL的 performance_schema,可以监控数据库的性能,并及时发现和处理问题。
SELECT 1是默认的validation-query,每次进行连接的健康检查就会用到
原回答者GitHub用户rocky-luo
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。