많은 파티셔닝 된 테이블 크기가 100GB 이상인 MySQL DB (OLD_DATA)가 있습니다. 서버 성능을 향상시키기 위해 우리는 병렬 DB (NEW_DATA)를 생성하고 NEW_DATA에 새로운 데이터를 수집하기 시작했습니다.대용량 데이터베이스 용 MySQL 메모리 사용량
DB는 MyISAM이고 서버에는 96GB RAM이 있습니다.
이 후에 OLD_DATA는 액세스되지 않습니다.
이 접근 방식은 RAM 및 CPU 사용량 측면에서 서버 성능을 향상시키는 데 도움이됩니까? OLD_DATA의 데이터가 메모리에로드됩니까?
데이터베이스는 일반적으로 전체 데이터베이스를 한 번에 메모리에로드하지 않습니다. 인덱스 (및 기타 클러스터링 기술)를 사용하면 알고리즘 선택과 데이터 액세스가 원활 해집니다. 즉, 필요할 때 필요한 것을 읽을 수 있습니다. – user2864740
새 데이터를 쿼리하는 방법과 현재 가지고있는 인덱스를 설정하는 방법에 따라 달라집니다. 새로운 테이블로 이동하면 성능이 향상되지 않습니다. 메모리가 많으므로 빠른 쿼리를위한 좋은 인덱스를 구축 할 수 있어야합니다. –
의견을 보내 주셔서 감사합니다. 인덱싱과 최적의 쿼리가 필수적이라는 데 동의합니다. 하지만 새로운 DB로 이전하는 방식으로 오래된 DB를 격리하려고 했으므로 오래된 DB는 메모리를 차지하지 않습니다. – user1434805