어쨌든이 성능을 향상시킬 수 있습니까?간단한 쿼리 느린
SELECT fdyofmth, SUM(total_restored) AS total_restored
FROM sum_restored
WHERE fdyofmth BETWEEN '2010-11-01' AND '2011-11-01'
GROUP BY fdyofmth
ORDER BY fdyofmth DESC
결과가 3 초 걸립니다. 나는 실제로 두 배 느린 만든 fdyofmth의 KEY를 넣어 시도
+----+-------------+--------------+------+---------------+------+---------+------+--------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------------+------+---------------+------+---------+------+--------+----------------------------------------------+
| 1 | SIMPLE | sum_restored | ALL | NULL | NULL | NULL | NULL | 752660 | Using where; Using temporary; Using filesort |
+----+-------------+--------------+------+---------------+------+---------+------+--------+----------------------------------------------+
1 row in set
-
+------------+----------------+
| fdyofmth | total_restored |
+------------+----------------+
| 2011-11-01 | 39793 |
| 2011-10-01 | 52367 |
| 2011-09-01 | 52141 |
| 2011-08-01 | 56515 |
| 2011-07-01 | 54668 |
| 2011-06-01 | 54874 |
| 2011-05-01 | 60025 |
| 2011-04-01 | 60005 |
| 2011-03-01 | 63856 |
| 2011-02-01 | 64472 |
| 2011-01-01 | 58943 |
| 2010-12-01 | 57005 |
| 2010-11-01 | 55731 |
+------------+----------------+
는 결과를 설명한다.
도움을 주시면 감사하겠습니다.
감사합니다.
필드 유형은 무엇입니까? CREATE (붙여 넣기)를 붙여 주실 수 있습니까? 이 테이블에 몇 개의 레코드가 있습니까? 천천히 얼마나 천천히, 당신은 실행 시간을 붙여 넣을 수 있습니다. –
'fdyofmth'에 대한 색인 (그 자체로)이 도움이 될 것입니다. 하나 있습니까? – wallyk
@NedretRecep 나는 지금 CREATE를 붙여 넣을 수 없지만 필드는 "DATE - fdyofmth"및 "INT - total_restored"입니다.내가 말했던 것처럼 결과를 보여주기 위해 3 초가 걸렸고 fdyofmth에 대한 인덱스는 6 초가 걸렸습니다.이 테이블의 총 행은 설명 플랜 당 752K입니다. 감사. – mybigman