c# mysql timeout expired_C#百万数据查询出现超时问题的解决方法
本文較為詳細的講解了C#百萬數據查詢出現超時問題的解決方法,分享給大家供大家參考之用。具體方法如下:
很多時候我們用C#從百萬數據中篩選一些信息時,經常會出現程序連接超時的錯誤,常見的錯誤有很多,例如:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server等等
本文就常見的幾種解決方案進行說明,感興趣的可以對此加以改進與完善。
①.當然第一步要查看是否Connection沒關閉問題,一般新手都會犯這個錯誤,需要認真查看一下哦,這個就不詳細說了。
②.如果將sql語句復制到查詢分析器中執行,如果執行時間本來就超過30秒,那么一般采用如下的解決方案:
首先分析引起Timeout的原因,一般是Connection沒關閉或者SqlConnection.ConnectionTimeout超時,另外一種就是SqlCommand.CommandTimeout引起的, SqlCommand的此方法為獲取或設置在終止執行命令的嘗試并生成錯誤之前的等待時間,
他的默認為 30 秒,你可以設置為0 ,它表示無限制,但是最好不要去設置0 ,否則會無限的等待下去的,只需要針對查詢分析器的時間,去設置這個時間就可以了
③.執行時間不是很長,但是還是操作超時,那么 也有很多原因,一般經常出現的有兩種,asp.Net應用程序的請求超時,或者是連接池的連接生存期過去,,因為連接池默認值是60秒,那么針對這兩種解決方案為:
解決應用程序請求超時:
在web.config中加上以下語句:
executionTimeout:是允許執行請求的最大時間限制,單位為秒
maxRequestLength:指示 ASP.Net 支持的最大文件上載大小。該限制可以防止。大家都懂的。
解決程序池生存周期問題:
在數據庫連接字符串中修改:
database=AA;
uid=sa;
pwd=sa;
Pooling=true;
MAX Pool Size=1024;
Min Pool Size=1;
Connection Lifetime=60
至于含義基本上從英文的意思上大家就明白了,呵呵。當然Min Pool Size=1這個設置還有很多講究。
希望本文所述對大家的C#程序設計有所幫助。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的c# mysql timeout expired_C#百万数据查询出现超时问题的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jenkins重启 linux_在Lin
- 下一篇: java poi 更新excel_在Ja