programing

Linkq-to-SQL 시간 초과

yellowcard 2023. 9. 2. 08:10
반응형

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

반응형