问题一: 通过druid 的监控页面看到有一条SQL执行很耗时 达到了15分钟。
该SQL是用于获取连接时检查连接是否有效的。按理说应该很快就执行完了的。为什么会耗时这么久呢?这样会导致程序一直获取不到数据库连接。点进去之后 发现是执行该检查有效的sql的时候 连接超时了。
请问下各位大佬有没有遇到过这个问题。 问题二:
后面查看源码的时候 看到了一个这个参数。默认值是-1
将这个属性给定一个值 是否能解决此问题呢?
原提问者GitHub用户winston9527
如果您在Druid的监控页面中看到某个SQL执行时间异常地长,可能是由于以下原因:
数据库性能问题。如果您的数据库负载很高,或者数据库中的表数据量很大,那么执行SQL的时间可能会很长。您可以使用数据库性能分析工具,例如MySQL的 explain 命令,来分析SQL执行计划,以确定SQL是否需要优化。
SQL语句本身问题。如果SQL语句本身存在问题,例如语法错误或者没有正确使用索引等,那么执行时间可能会很长。您可以使用SQL语句优化工具,例如pt-query-digest,来对SQL语句进行优化。
应用程序问题。如果应用程序中存在问题,例如连接池配置不当、线程阻塞等,那么SQL执行时间也可能会很长。您可以检查应用程序的配置文件和代码,以排除这些问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。