쿼리에서 대략적인 검색 결과를 얻는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/600972

문제

더 설명하기 위해 클릭 할 때 해당 영역에 대한 자세한 정보를 얻기 위해 쿼리가 수행되는 영역의 이미지 맵이있는 경우 쿼리가 수행됩니다.

내 클라이언트는 해당 지역 이미지 맵 위로 떠오르는 동안 대략적인 수의 검색 결과를 표시하기를 원합니다.

내 문제는 어떻게 캐시합니까? 아니면 서버의 메모리 리소스를 크게 소진시키지 않고 해당 번호를 얻습니까?

필요한 정보 인 경우 BTW IM PHP 및 MySQL을 사용합니다.

도움이 되었습니까?

해결책

주기적으로 쿼리를 실행 한 다음 결과를 다른 테이블에 저장할 수 있습니다.

결과는 절대적으로 최신 정보가 아니지만 근사치가 좋으며 서버의 부하를 줄입니다.

다른 팁

MySQL은 실제로 쿼리를 실행하지 않고 쿼리에서 반환 할 대략적인 행을 제공 할 수 있습니다. 이것이 구문이 설명하는 것입니다.

'select'전에 '설명'으로 쿼리를 실행 한 다음 모든 결과를 행 열에 곱하십시오.

정확도는 매우 다양합니다. 일부 유형의 쿼리와 함께 작동 할 수 있지만 다른 유형의 쿼리는 쓸모가 없습니다. MySQL의 Optimizer가 유지하는 데이터에 대한 통계를 사용합니다.

참고 : 테이블에 분석 테이블을 사용하여 주기적으로 (즉, 한 달에 한 번) 이러한 추정치의 정확도를 향상시키는 데 도움이 될 수 있습니다.

지역의 ID를 사용하여 다른 테이블을 만들고 느린 시간 (예를 들어 밤)에 모든 지역에서 실행되는 스크립트를 작성 하고이 추가 테이블을 데이터로 채울 수 있습니다.

그런 다음 호버링하면이 새 테이블에서 ID를 얻습니다.

그 문제는 시간이 느리지 않거나 밤에 이루어지는 런 스루가 오랜 시간이 걸리고 매우 무겁다는 것입니다.

귀하의 의견을 편집하십시오.

가능한 경우 넓은 지역이나 국가를 사용하여 선택한 SQL 브라우저 내에서 해당 지역의 쿼리를 수행하고 걸리는 시간을 확인하십시오.

만약 당신이 많은 경우에 당신은 그것을 배포 할 수 있도록 특정 국가가 특정 시간, 소규모 국가와 대규모 국가만으로 일정 기간에 집행 할 수 있습니다.

Roll-Aver 이벤트가 발생할 때이 정보에 대한 데이터베이스로 가고 싶지 않다는 우려입니까, 아니면 쿼리가 너무 느리고 데이터베이스의 정보를 원한다고 생각 하는가? ?

느린 쿼리가있는 경우 조정하거나 이미 제공된 다른 제안 중 일부를 사용할 수 있습니다.

또는 데이터베이스를 완전히 피하기 위해이 맵에 한정된 수의 영역이있는 것으로 보이며 모든 지역에 대해 주기적으로 쿼리를 실행하고 숫자를 메모리에 유지할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top