2012-12-06 4 views
0

내가 MySQL의에서이 쿼리를 시도 만료 그것을 잘 작동하지만 쿼리연결된 호스트는 시간 제한

SELECT doctor, 
     SUM(medicine) medicine, 
     sum(radiology) radiology, 
     sum(lab) lab, 
     sum(act) act 
FROM (SELECT max(doctor) doctor, 
    sum(if(pm = 'F', cost, 0.00)) medicine, 
    sum(if(pm = 'R', cost, 0.00)) radiology, 
    sum(if(pm = 'L', cost, 0.00)) lab, 
    sum(if(pm = 'P', cost, 0.00)) act 
    FROM my_table 
    GROUP BY no 
)t 
GROUP BY doctor 

내 테이블 데이터 (약 200 만 데이터)

많은 양을 가지고 103.5772 초를했다, 응답 실패 나는 그물에 때

, 그것은 제한 시간이 만료

에 오류가 있습니다. 작업이 완료되기 전에 시간 초과 기간이 경과되었거나 서버가 응답하지 않습니다.

연결 시간이 오래 걸릴 수 있습니까?

n.b. 나는 인해 데이터에 데이터

conn.ConnectionString = conection.getConnection(); 
MySqlDataAdapter da = new MySqlDataAdapter(query, conn); 
da.Fill(ds); 
return ds; 

답변

3

이것은 연결 시간 제한, 그것은 명령에 시간 초과되어 있지 않습니다 연결이 쿼리를 사용했다. 타임 아웃을 아래와 같이 조정하십시오. 자세한 내용은

Command.CommandTimeout = 300; 

: SqlCommand.CommandTimeout Property

나는 또한 당신이 쿼리를 최적화 할 수 있는지 확인하기 위해 인덱스를보고 제안합니다. 당신이 SqlCommand.CommandTimeout 등록 사용자 수

-1

:

SqlCommand.CommandTimeout = 300;

+0

이것은 연결 시간 초과하지 않습니다. – ChrisBint

+0

죄송합니다, 전체적인 질문을 읽지 않았습니다 ... 내 나쁜 –