【发布时间】:2010-11-30 01:10:20
【问题描述】:
我正在使用 ajax,而且如果不是一直如此,第一个请求就会超时。事实上,如果我在提出新请求之前延迟几分钟,我总是会遇到这个问题。但是后续的请求都OK。所以我猜第一次使用的数据库连接已经死了。我正在使用 MySQL。
有什么好的解决办法吗?
【问题讨论】:
-
您使用哪种语言的 MySQL 和 Ajax? PHP?
我正在使用 ajax,而且如果不是一直如此,第一个请求就会超时。事实上,如果我在提出新请求之前延迟几分钟,我总是会遇到这个问题。但是后续的请求都OK。所以我猜第一次使用的数据库连接已经死了。我正在使用 MySQL。
有什么好的解决办法吗?
【问题讨论】:
你能澄清一下吗:
SELECT 'hard-coded' FROM DUAL)回答这些问题应该有助于排除与建立持久连接无关的其他问题:基本数据库连接、表索引/运行缓慢的 SQL、MySQL 缓存失效等。
【讨论】:
您的问题可能不是打开连接,而是实际为请求提供服务。 由于 mysql 查询缓存,后续调用速度很快。
你需要做的是寻找缓慢的mysql查询,例如通过打开慢查询日志,或者通过使用mytop或“SHOW PROCESSLIST”实时查看服务器以查看是否有查询需要太长时间。如果你找到了,请使用 EXPLAIN 确保它被正确编入索引。
【讨论】: