开发者社区> 问答> 正文

SELECT 1 持续执行

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

展开
收起
山海行 2023-07-05 19:50:13 52 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    果您执行 SELECT 1 命令时出现了持续执行的情况,可能是由于以下原因:

    数据库性能问题。如果您的数据库负载很高,或者数据库中的表数据量很大,那么执行 SELECT 1 命令的时间可能会很长。您可以使用数据库性能分析工具,例如MySQL的 explain 命令,来分析数据库性能瓶颈,以确定问题所在。

    应用程序问题。如果您的应用程序存在问题,例如连接池配置不当、线程阻塞等,那么执行 SELECT 1 命令的时间也可能会很长。您可以检查应用程序的配置文件和代码,以排除这些问题。

    为了解决 SELECT 1 命令持续执行的问题,您可以采取以下措施:

    优化数据库性能。使用数据库性能分析工具,分析数据库性能瓶颈,并采取相应的措施来优化数据库性能,例如优化索引、分析查询计划等。

    检查应用程序配置和代码。检查应用程序的配置文件和代码,以确保连接池配置正确、线程不会阻塞等。

    使用缓存。如果您的应用程序中存在频繁查询同样的数据的情况,可以考虑使用缓存,以降低数据库压力。

    限制查询范围。如果您的查询范围很大,可以考虑限制查询范围,例如使用分页查询等方式,以减少查询数据量,提高查询性能。

    使用性能监控工具。使用性能监控工具,例如MySQL的 performance_schema,可以监控数据库的性能,并及时发现和处理问题。

    2023-07-30 15:09:17
    赞同 展开评论 打赏
  • SELECT 1是默认的validation-query,每次进行连接的健康检查就会用到

    原回答者GitHub用户rocky-luo

    2023-07-06 11:09:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载