Linkq-to-SQL 시간 초과
제 페이지 중 하나에서 linq 쿼리가 너무 오래 걸려 시간이 초과되었다는 오류가 발생했습니다.페이지를 사용할 수 없게 만듭니다.
관리자가 하루에 한 번 정도만 액세스할 수 있는 보고서 페이지입니다.이 쿼리를 축소하는 것은 피할 수 없으며, 많은 데이터를 정렬해야 합니다.
제가 읽은 이 문제를 해결하기 위한 해결책은 데이터 컨텍스트에서 시간 초과 속성을 늘리는 것이지만, 전체 웹 사이트에 대해 시간 초과 속성이 변경될 수 있기 때문에 이 문제는 피하고 싶습니다.
개별 페이지의 제한 시간을 더 크게 설정할 수 있는 방법이 있습니까?
인텔리센스로 해결할 수 있는 방법을 찾았습니다.
using (MainContext db = new MainContext())
{
db.CommandTimeout = 3 * 60; // 3 Mins
}
이렇게 하면 연결 문자열 또는 데이터 컨텍스트를 수정하는 쿼리별로 쿼리 시간 제한을 늘릴 수 있습니다.
@톰 귈렌의 대답은 나에게 효과가 없었습니다.EF6
데이터베이스로 드릴다운해야 했습니다.DbContext
Ecom.Database.CommandTimeout = 120;
시간이 좀 절약되기를 바랍니다.
다음은 의 최신 구문입니다.넷 4.5.
MyDbContext context = new MyDbContext();
context.Database.SetCommandTimeout(300);
톰 귈렌의 대답은 좋습니다.
다른 응답자가 연결 문자열에서 연결 시간 제한 설정을 언급했습니다.
연결 문자열의 연결 시간 초과 속성은 명령 시간 초과가 아닙니다.그것에 대해 생각해보면 더 분명합니다.흔한 실수야.
SQL 시간 초과를 늘리기 전에 항상 인덱싱 전략을 평가할 필요가 있습니다.제 경험에 따르면 인덱스가 잘 된 테이블과 열에 대한 쿼리가 시간 초과되는 경우는 거의 없습니다.
데 오언
언급URL : https://stackoverflow.com/questions/8969751/linq-to-sql-timeout
'programing' 카테고리의 다른 글
테이블 만들기 쿼리를 실행하는 동안 오류 1064가 발생합니까? (0) | 2023.09.02 |
---|---|
mysql에서 mariadb로 mysqdump - 데이터베이스 크기 차이 (0) | 2023.09.02 |
gitignore에서 선행 슬래시를 사용하는 경우 (0) | 2023.09.02 |
열 머리글을 사용하여 SQL Server에서 Excel로 내보내시겠습니까? (0) | 2023.09.02 |
항목이 없으면 만들고, 없으면 업데이트하시겠습니까? (0) | 2023.09.02 |