인덱스에서 최적화할 방법이 없습니다. 그룹 기준을 사용하고 where 조건을 설정하지 않으면 mysql이 이미 전체 테이블을 읽었습니다. 그리고 수백만 개의 데이터가 있는 경우 테이블에 있는 각 a의 총 개수를 계산하기 위해 sum을 직접 사용하는 것은 개인적으로 권장하지 않습니다. 권장되는 최적화는 다음과 같습니다. 1. 예정된 작업, 임시 테이블, 통계 테이블을 설정합니다. 2. 일정량의 데이터를 정기적으로 읽고, 해당 데이터의 통계 정보를 통계 테이블에 기록하고, 일정량의 데이터의 마지막 id 값을 기록합니다. 기록. 임시 테이블. 해당 ID는 다음에 읽을 때 조건으로 사용됩니다.
인덱스에서 최적화할 방법이 없습니다. 그룹 기준을 사용하고 where 조건을 설정하지 않으면 mysql이 이미 전체 테이블을 읽었습니다. 그리고 수백만 개의 데이터가 있는 경우 테이블에 있는 각 a의 총 개수를 계산하기 위해 sum을 직접 사용하는 것은 개인적으로 권장하지 않습니다. 권장되는 최적화는 다음과 같습니다.
1. 예정된 작업, 임시 테이블, 통계 테이블을 설정합니다.
2. 일정량의 데이터를 정기적으로 읽고, 해당 데이터의 통계 정보를 통계 테이블에 기록하고, 일정량의 데이터의 마지막 id 값을 기록합니다. 기록. 임시 테이블. 해당 ID는 다음에 읽을 때 조건으로 사용됩니다.
이 분할된 통계는 두 가지 최적화 조건을 충족할 수 있습니다
먼저 A 필드에 인덱스를 추가해 보겠습니다
MySQL에서 GROUP BY를 최적화하는 방법
복합 인덱스(a, b)를 생성하면 두 SQL 모두 인덱스 스캔을 수행합니다
또한 통계 SQL은 특수 보고서 라이브러리에서 수행해야 하며 시간별 및 세그먼트별 통계