2012-08-08 2 views
1

저희 팀은 "매일 활성 사용자"보고서를 생성하기 위해 SQL 데이터베이스를 사용합니다 검색 테이블의 크기는 약 7 백만 레코드이며 알고리즘을 최적화하기 위해 최선을 다하고 을 시도하고 SQL 데이터베이스에 인덱스를 넣으십시오. 그러나 매일 생성되는 의 경우 120 초가 걸립니다.보고서를 더 빠르게 생성하는 방법

더 빨리 만들 수있는 방법은 무엇입니까?

내가 검색 할 수있는 모든 입력란/키워드/서적/포럼을 추천 할 수 있습니까?


상세 정보

쿼리 정의 : 우리 7 일

의 말에 "활성 사용자" 로 계산 연속 7 일간의 기록 않은 사용자에 대한

테이블 : login_in

로그인에 대한

기록 기본 정보, 로그 아웃 시간, 계정 ID

프로그래밍 언어 : 심 프레임 워크와 자바

SQL의 DB : MySQL의 사전에


많은 들으!

+1

이 쿼리를 최적화하는 방법에는 여러 가지가 있습니다 -하지만 당신은 어떻게 당신은이 일을하는 몇 가지 자세한 내용을 게시해야합니다; 참여 테이블 및 누군가가 대답 할 수 있기 전에 사용되는 SQL은 도움이되는 의견을 위해 –

+0

xx입니다. 몇 가지 세부 사항을 추가하려고했지만 도움이 되었기를 바랍니다! – cyanBigOcean

답변

2

첫 번째 단계는 보고서를 실행하는 쿼리에서 EXPLAIN을 수행하는 것입니다. 이것은 쿼리의 어느 부분이 느린 지에 대한 단서를 제공 할 수 있습니다. 쿼리의 모든 부분이 전체 테이블 액세스가 아닌 인덱스로 덮여 있는지 확인하려고합니다.

가 문서를 참조하십시오 EXPLAIN

+0

thx! 적어도 그것은 내가 할 수있는 단서입니다! 그레시아스 ~ – cyanBigOcean

관련 문제