2011-09-09 2 views
0

늦게 내 애플리케이션에서 발생하는 특이한 문제가 있습니다. 페이지 중 하나에서 SQL 쿼리가로드하는 데 너무 많은 시간이 걸리며 이로 인해 UI가 잠길 수 있습니다. 무슨 일이 일어날 때까지 그리고 그 쿼리가 백엔드에서 완료되지 않는 한, 나는 브라우저에서 아무것도 볼 수 없습니다.CakePHP, MySQL 쿼리가 내 UI를 잠그는 데 걸리는 시간

또한 새 탭을 열고 거기에 동일한 URL을 누르면 내 브라우저가 아무 것도 표시하지 않고 내 쿼리가 끝날 때까지 기다릴 것입니다.

현재 시나리오에서 쿼리를 즉시 바꿀 수는 없지만 최적화 할 시간이 필요하지만 그때까지는 MySQL 데이터베이스 또는 cakephp에서 시간 제한 설정이 필요합니다. 내 UI에서 ' 쿼리가 끝나기를 기다리십시오.

어떻게 수행하나요?

+0

표시 할 데이터가없는 페이지를 어떻게 표시합니까? – deceze

+0

당신은 나의 요점을 이해하지 못했습니다. 쿼리 실행에 시간이 너무 오래 걸리면 내 페이지가 전체로드 시간을 기다리고 영원히 기다릴 필요가 없습니다. 현재 사용자가 현재 탭을 닫고 새 탭에서 다른 페이지를 열려고 할 때, 그 페이지가 너무 잠겨있어, 내 말은, 같은 쿼리가 끝나기를 기다린다. – debaShish

+0

내 서버에 저장된 세션 파일을 검사했는데 세션 변수가 전체 시간 동안 잠겨있는 것 같다. 다른 모든 요청을 차단합니다. 이 상황을 피할 수있는 방법이 있습니까? – debaShish

답변

0

페이지 요청시 쿼리를 실행하지 마십시오. 페이지에 ajax 호출을 넣고 쿼리를 실행하고 결과를 반환하는 다른 액션을 호출하십시오.

관련 문제