programing

MySQL보다 느린 MariaDB 그룹

firstcheck 2022. 12. 27. 21:36
반응형

MySQL보다 느린 MariaDB 그룹

이 쿼리는 MySQL에서는 2.5s, MariaDB에서는 13.5s로 반환됩니다.테이블이 크기 때문에 데이터 200만 행의 작은 범위만 선택합니다.

여러 서버에서 시도했지만 결과는 항상 거의 같았습니다.무엇이 부족합니까?

왜 MariaDB가 훨씬 느리죠?

    SELECT yyyymmdd,
           customer_id,
           product_id,
           sum(qty),
           sum(value)
    FROM large_table
    WHERE yyyymmdd >= 20180101
      AND yyyymmdd < 20180201
    GROUP BY 1,2,3
    ORDER BY NULL

주의: 여러 가지 조합을 인덱싱해 봤지만 큰 차이는 없었습니다.

Mysql 설명:

mysql 설명

Mariadb 설명:

마리아답 설명

MySQL과 MariaDB의 성능 차이는 설명할 수 없지만 두 데이터베이스의 성능을 향상시킬 수 있는 다음 인덱스를 제안할 수 있습니다.

CREATE INDEX idx ON large_table (yyyymmdd, customer_id, product_id);

이 인덱스는 전체 데이터를 포함합니다.WHERE날짜 범위가 상당히 구체적이라고 가정할 때 사용할 수 있는 조항입니다.

선택 쿼리에서 SQL_BIG_RESULT를 사용하여 정렬하면 응답 시간이 거의 같아집니다.

https://dev.mysql.com/doc/refman/8.0/en/select.html#SQL_BIG_RESULT

또한 tmp_table_size & max_heap_table_size 증가

언급URL : https://stackoverflow.com/questions/63888541/mariadb-group-by-slower-than-mysql

반응형