2014-04-14 2 views
0

나는 실행할 수있는 거의 4 분이 걸리는 간단한 쿼리를 가지고 있습니다. 테이블에 대해너무 오래 걸리는 참여와 함께 MySQL 쿼리

:

표 A (25) 열 및 표 B (24) 열이 18,354 행과 97,889 행

쿼리가 있습니다

select (sum(a.a)/sum(a.ab)) as ab_avg, 
sum(a.h) as h_sum, 
((sum(a.2B) + sum(a.3B) + sum(a.4B))/sum(a.ab)) as b_avg, 
(sum(a.sb)/(sum(a.sb) + sum(a.cs))) as sb_pct, 
(sum(a.ab)/(sum(a.hr)) as ab_hr_ratio, 
(sum(a.ab)/sum(a.so)) as ab_so_ratio, 
b.lastname, 
b.firstname 
from a, b 
where b.id = a.id 
group by b.year 

MySQL이 정확히 반환이 무엇을해야을, 하지만이 쿼리를 실행하는 데 4 분이 걸리지 않아야한다고 생각합니다. 성능 문제를 일으키는 잘못된 부분이 있습니까?

+0

4 분이 걸릴 것이라고 상상 했으므로 어떤 문제가 있습니까? –

+0

년 필드 및 id 필드에 인덱스를 추가하십시오. – Alex

+0

ID 및 연도에 대한 인덱스가 있습니다. –

답변

2

나는 year와 id에 인덱스를 추가했고 .45 초 만에 실행됩니다. 감사!

관련 문제