1) 테이블 크기
2) 조인
3) 집계
쿼리문도 효율적이고 비용을 줄이는 방향으로 짜는 것이 좋다. 이때 효율성을 위해 고려할 수 있는 요소가 있다.
1)쿼리 실행 시간의 이론 : 테이블 크기, 조인, 집계가 쿼리 실행 시간에 영향을 주는 주요소이다.
2)테이블 크기 줄이기 : where 등으로 필요 데이터만 필터링하기, limit 사용시 서브쿼리 이용하기
3)조인 복잡성 줄이기 : 테이블 조인 전에 필터링(where, 집계함수)하여 추출할 데이터 수 줄이기
SELECT teams.conference,
sub.*
FROM (
SELECT players.school_name,
COUNT(*) AS players
FROM benn.college_football_players players
GROUP BY 1
) sub
JOIN benn.college_football_teams teams
ON teams.school_name = sub.school_name
4) EXPLAIN : 쿼리 앞에 explain을 추가하여 쿼리의 실행계획 확인하기
SELECT *
FROM benn.sample_event_table
WHERE event_date >= '2014-03-01'
AND event_date < '2014-04-01'
LIMIT 100