Tip

[MySQL] FULL PARALLEL 병렬처리

너드나무 2024. 7. 29. 18:24
반응형

서론

몇 백만 건 이상의 데이터를 조회하게되면 Timeout 이슈가 발생할 수 있다.

FULL, PARALLEL 등 병렬 SQL 처리에 대한 개념을 확인해보면서 적용 방안에 대해 생각해보자.

시리얼 SQL vs 병렬 SQL

  • 시리얼 SQL
    • 소량의 데이터 처리에 적합, 시스템 영향도가 적음, 온라인 처리 시스템
    • SQL> SELECT COUNT(*) FROM 고객 c;
    • 하나의 프로세스가 SQL 조건에 맞는 데이터를 모두 검색하여 반환
  • 병렬 SQL
    • 대용량 처리에 적합, 시스템 자원 점유, DSS/배치 서버
    • Oracle SQL> SELECT /*+ FULL(c) PARALLEL(c 4) */ * FROM 고객 c;
    • MySQL에서는 병렬처리를 위해 innodb_parallel_read_threads 시스템 변수를 제어할 수 있다.
    • MySQL SQL> SET SESSION innodb_parallel_read_threads={n};
    • MySQL SQL> SELECT COUNT(*) FROM 고객 c;

병렬처리 기본개념, https://blog.naver.com/hanajava/220817928066

728x90
반응형