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;
728x90
반응형