쿼라 튜닝은 왜 필요한가
- MySQL의 실행계획을 통해 동작방식을 확인하고 성능개선을 하기 위해 필요하다.
- 문제가 발생했을 때 해결하기 위해 - 암달의 법칙
- 프로그램은 병렬처리가 가능한 부분과 불가능한 순차적인 부분으로 구성되므로 프로세서를 아무리 병렬화 시켜도 더 이상 성능이 향상되지 않는 한계가 존재 한다는 법칙
- 많이 쓰이는 거를 향상시켜야 함
I. 프로세스 병렬화 속도 한계성에 대한 암달의 법칙
가. 암달(Amdahl)의 법칙 정의
프로그램은 병렬처리가 가능한 부분과 불가능한 순차적인 부분으로 구성되므로 프로세서를 아무리 병렬화 시켜도 더 이상 성능이 향상되지 않는 한계가 존재 한다는 법칙
나. 암달의 법칙 의미
성능 한계는 캐쉬, 메모리, 버스와 같이 제한된 자원을 프로세스가 서로 점유하려고 쟁탈 하는 오버헤드에 이해 발생
시스템 구성상 프로세서가 2배가 되더라도 20~40% 정도의 성능 손실이 발생, 4개의 CPU를 쓰더라도, 단일 CPU에 비해서 평균 2.5배 정도 성능 향상
병렬처리 컴퓨터를 효율적으로 사용하기 위해서는 순차처리코드 부분이 적어야 함.
순차처리 코드비율이 크면 프로세서 수가 증가해도 성능향상 및 속도개선이 안됨
mysql 실행 순서
구문 -> 토크나이저 - 렉서 - 파서 AST
storage engine
- inno db: 트랜잭션 지원,
- myisam: 트랜잭션 지원 x, 간단한 쿼리에서는 성능이 좋음
AST + stroage
mysql explain analyze
join을 가장 나중에 한다: 비용이 크다, 레코드가 너무 많다
가장 안쪽부터 실행
728x90
'Database' 카테고리의 다른 글
Database 기초 (0) | 2023.09.06 |
---|---|
Database transaction - ACID (0) | 2023.09.06 |