开发者社区> 问答> 正文

druid 数据库连接有效性检查

问题一: 通过druid 的监控页面看到有一条SQL执行很耗时 达到了15分钟。

T45.png

该SQL是用于获取连接时检查连接是否有效的。按理说应该很快就执行完了的。为什么会耗时这么久呢?这样会导致程序一直获取不到数据库连接。点进去之后 发现是执行该检查有效的sql的时候 连接超时了。

T46.png

请问下各位大佬有没有遇到过这个问题。 问题二:

后面查看源码的时候 看到了一个这个参数。默认值是-1

T47.png

将这个属性给定一个值 是否能解决此问题呢?

原提问者GitHub用户winston9527

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

    如果您在Druid的监控页面中看到某个SQL执行时间异常地长,可能是由于以下原因:

    数据库性能问题。如果您的数据库负载很高,或者数据库中的表数据量很大,那么执行SQL的时间可能会很长。您可以使用数据库性能分析工具,例如MySQL的 explain 命令,来分析SQL执行计划,以确定SQL是否需要优化。

    SQL语句本身问题。如果SQL语句本身存在问题,例如语法错误或者没有正确使用索引等,那么执行时间可能会很长。您可以使用SQL语句优化工具,例如pt-query-digest,来对SQL语句进行优化。

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

    2023-07-30 15:09:25
    赞同 展开评论 打赏
  • 最后查询结果为数据库存在大量僵死连接

    原回答者GitHub用户winston9527

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

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载