다음 표 구조가 있습니다. 인덱스가있는 mysql 쿼리가 느림
는 지금은SELECT DATE(date),SUM(amount) FROM my_table WHERE type!=5
AND date BETWEEN '2014-01-01' AND '2014-01-04'
GROUP BY DATE(date) ORDER BY date DESC
이 쿼리는 행의 작은 번호가 내 개발 데이터베이스에 노력하고 다음 쿼리를 사용하고 있습니다. 그러나 이것은 유능한 데이터베이스에서는 매우 느리고 1 주일 동안 값을 표시하는 데 거의 9 초가 걸립니다. 나는 날짜와 타입에 대한 인덱스를 가지고 있으며, 나의 explain 질의는 타입을 모두 보여주고있다. prod DB에는 거의 700000 개의 항목이 있습니다.
어떻게이 쿼리를 더 최적화 할 수 있습니까 ??
오 이런 식으로하지 않습니다. 날짜 부분 만 가져 오는 데 사용하고 있습니다. 그렇지 않으면 GROUP BY가 일일 것을 표시하는 대신 개별 합계를 표시합니다. –
GROUP BY에서 제거 할 수 없다는 것을 알고 있습니다. 그러나 테이블에서 날짜를 선택하는 동안 날짜 부분 만 필요합니까? – Neels
게시 된 새 쿼리를 확인하십시오. 이렇게하면 더 나은 결과를 얻을 수 있습니다. – Neels