사이에 내 쿼리가 약 10 초 실행되고 그건 용납 할 수 없어요.mysql 쿼리 날짜가 큰 테이블
이 속도를 향상시킬 수있는 방법을 찾고 있지만 옵션이 없습니다. 지금부터 30 일 사이의 레코드를 1200 만 행 이상의 테이블에서 찾아야합니다. 나는 또한 시도
SELECT DATE(DATE) AS FDATE,
SUM(VIEW_COUNT) AS COUNT,
COUNT(IP_ADDRESS) AS CLIENTS
FROM VIEWS
WHERE USERID = 'test'
AND DATE BETWEEN ADDDATE(CURDATE(), INTERVAL -30 DAY) AND CURDATE()
GROUP BY FDATE DESC
,하지만 같은 효과 :
다음 쿼리 쿼리 실행 시간을 감소에서 더 나은 성능을 위해 MySQL의 인덱스를 사용하여 시도 할 수
SELECT DATE(DATE) AS FDATE,
SUM(VIEW_COUNT) AS COUNT,
COUNT(IP_ADDRESS) AS CLIENTS
FROM VIEWS
WHERE USERID = 'test'
AND DATE >= (DATE(NOW() - INTERVAL 30 DAY) + INTERVAL 0 SECOND)
GROUP BY FDATE DESC
(사용자 ID, 날짜)에 포함 인덱스가 있습니까? – Strawberry