我有一个查询,在数据库增加数据量的情况下执行时间越来越长。这个查询已经被优化并且是必要的,但是我的C#控制台应用程序最近一直给出这个错误:
Unhandled Exception: MySql.Data.MySqlClient.MySqlException: Timeout expired.
在连接字符串中增加连接超时时间并不能帮助解决问题;我将其从
Connect Timeout=28800
增加到了
Connect Timeout=128800
但是我仍然遇到相同的错误。
如果我在MySQL Workbench中运行查询,只需要大约10秒钟,所以我不确定如何防止这个未处理的异常。
除了“查询所需时间”之外,还有其他因素会导致此异常吗?
CommandTimeout
是指命令超时时间,而不是ConnectionTimeout
连接超时时间。CommandTimeout
用于设置执行命令的最大等待时间,如果在此时间内未能执行完毕,则会引发异常。 - Tim Schmelter