mysql select쿼리 속도는 빠른데, update쿼리 명령은 엄청 느릴때, 아래명령을 실행.
> ANALYZE TABLE 테이블명;
이유와 원리
1. 통계 정보 갱신
테이블의 인덱스와 데이터 분포에 대한 통계 정보를 갱신합니다.
MySQL 옵티마이저는 이러한 통계 정보를 사용하여 쿼리를 어떻게 실행할지 결정합니다. 최신 통계 정보가 있으면 더 효율적인 쿼리 계획을 세울 수 있습니다.
인덱스 선택 최적화
옵티마이저가 어떤 인덱스를 사용할지 결정할 때 최신 통계 정보를 참고합니다. 이는 인덱스를 적절히 선택하여 쿼리 성능을 최적화합니다.
2. 쿼리 계획 개선
쿼리 실행 계획에서 테이블 스캔 대신 인덱스 스캔을 사용하거나, 교차 조회(intersect)를 보다 효율적으로 수행할 수 있게 됩니다.
ANALYZE TABLE을 실행한 후 옵티마이저가 더 나은 실행 계획을 선택할 가능성이 높아지며, 이는 쿼리 성능 향상으로 이어집니다.
|