`max_seeks_for_key`를 너무 높게 설정하면 여러 가지 위험이 발생할 수 있습니다.
1. 디스크 I/O 증가: 값이 높을수록 MySQL은 더 많은 디스크 I/O 작업을 수행하게 되어 디스크 사용량이 증가하고 성능이 저하될 수 있습니다.
2. 메모리 사용량 증가: 값이 높을수록 MySQL이 더 많은 메모리를 사용하게 되어 메모리 사용량이 증가하고 잠재적으로 메모리가 고갈될 수도 있습니다.
3. CPU 사용량 증가: 값이 높을수록 MySQL은 CPU 집약적인 작업을 더 많이 수행하게 되어 CPU 사용량이 증가하고 CPU가 고갈될 수도 있습니다.
4. 성능 감소: 값이 높을수록 MySQL은 디스크 I/O 작업을 수행하는 데 더 많은 시간을 소비하고 쿼리 실행 시간은 줄여 성능이 저하되고 쿼리 실행 시간이 느려질 수 있습니다.
5. 교착 상태 위험 증가: MySQL이 디스크 I/O 작업이 완료될 때까지 기다리는 데 더 많은 시간을 소비할 수 있으므로 값이 높을수록 특히 다중 스레드 환경에서 교착 상태 위험이 높아질 수 있습니다.
6. 잠금 경합 위험 증가: MySQL이 디스크 I/O 작업이 완료될 때까지 기다리는 데 더 많은 시간을 소비할 수 있으므로 값이 높을수록 특히 다중 스레드 환경에서 잠금 경합 위험이 높아질 수 있습니다.
7. 확장성 감소: MySQL이 디스크 I/O 작업을 수행하는 데 더 많은 시간을 소비하고 쿼리를 실행하는 데 더 적은 시간을 소비할 수 있으므로 값이 높을수록 특히 대규모 환경에서 MySQL의 확장성이 감소할 수 있습니다.
8. 데이터 손상 위험 증가: 값이 높을수록 특히 디스크 I/O 활동이 많은 환경에서 데이터 손상 위험이 높아질 수 있습니다. MySQL은 디스크 I/O 작업을 수행하는 데 더 많은 시간을 소비하고 쿼리 실행 시간은 단축할 수 있기 때문입니다. .
9. 디스크 오류 위험 증가: 값이 높을수록 특히 디스크 I/O 활동이 많은 환경에서 디스크 오류 위험이 높아질 수 있습니다. MySQL은 디스크 I/O 작업을 수행하는 데 더 많은 시간을 소비하고 쿼리 실행 시간은 줄일 수 있기 때문입니다. .
10. 시스템 오류 위험 증가: 값이 높을수록 특히 디스크 I/O 활동이 많은 환경에서 시스템 오류 위험이 높아질 수 있습니다. MySQL은 디스크 I/O 작업을 수행하는 데 더 많은 시간을 소비하고 쿼리 실행 시간은 줄일 수 있기 때문입니다. .
'max_seeks_for_key'를 너무 높게 설정하는 경우의 위험과 이점을 신중하게 평가하고 변경하기 전에 환경의 특정 요구 사항과 제약 조건을 고려하는 것이 중요합니다.
인용:[1] https://stackoverflow.com/questions/27176623/mysql-server-system-variables-max-seeks-for-key-practical-example
[2] https://www.oreilly.com/library/view/high-performance-mysql/9780596101718/ch04.html
[3] https://mariadb.com/kb/en/server-system-variables/
[4] https://aws.amazon.com/fr/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-관련-to-performance /
[5] https://forums.percona.com/t/cpu-load-100/555