문제

고려 인덱스 MySQL 테이블과 함께 7 열이 계속되고,쿼리되고 기록됩.무엇이 좋습의 번호는 행 이 테이블은 허용되어야 한 전에 포함 성능 향상 것으로 분할하여 데이터를 다른 테이블?

도움이 되었습니까?

해결책

는지 여부를 당신을 얻을 것이라는 성과를 얻을 분할하여 데이터에 따라 달라집 및 데이터 쿼리에서 실행됩니다.저장할 수 있는 수백만의 행 테이블 그리고 좋은 인덱스는 잘 설계된 쿼리를 그것은 여전히 최고 있습니다.을 고려한 분할하는 경우에 당신은 이미 자신의 인덱스 및 쿼리가 모든 일을 할 수 있도록 만드는 것들이 있을 수 있습니다,그것이 될 수 있습니다 더 문제가 있다.

다른 팁

없 마법수지만,거기에 몇 가지 성능에 영향을 미치는 특히:

  • 인덱스 카디널리티:지 않을 인덱싱하는 행에는 2 개 또는 3 값(like ENUM).에 대형 테이블,질의 최적화를 무시한다.
  • 이의 무역 사이에 기록하고 인덱스입니다.더 많은 인덱스가 더 이상을 씁니다.지 않는 인덱스마 열입니다.분석하는 쿼리고 열을 인덱싱할 필요가하는 방법을 소개한 바 있습니다.
  • Disk IO 및 메모리 재생 중요한 역할을한다.할 수 있다면 전체에 맞게 테이블의 메모리로,당신은 디스크 입출력 방정식(면 테이블이 캐시되 어쨌든).나의 추측은 당신이 볼 수 큰 성능을 변경할 때 당신의 테이블은 너무 큰 버퍼 메모리에 있습니다.
  • 분할에 따라 서버를 사용입니다.는 경우는 트랜잭션 시스템입니다 읽기/쓰기 단일 행할 수 있습니다 아마도 자신에게 약간의 시간을 복제하여 데이터를 읽기 위해 서버 aggregate reporting.

여러분이 아시다시피,테이블의 성능에 따라 변화하는 데이터의 크기입니다.에 눈을 유지하고 당신의 테이블/쿼리를 처리합니다.당신이 알고있을 때 시간이 변경됩니다.

MySQL5 분할 내장은 아주 좋은 것입니다.무엇이 좋은 방법을 정의할 수 있습니다 당신의 테이블 분리시켜야 합니다.예를 들어,쿼리할 경우 대부분 userid 를 기반으로 분할할 수 있습니다 당신의 테이블에 기초한 userid,또는 당신를 쿼리하는 날짜에 의해 수행 날짜입니다.무엇이 좋은 이것에 대해 MySQL 정확히 알 수 있는 파티션 테이블을 검색하여 찾는 당신의 값이 있습니다.단점은 당신이 검색 필드에는 없을 정의하는 파티션을 검사를 통해 각각의 테이블 수 있는 가능성이 감소는 성능이다.

는 동안 후에 사실은 당신할 수 있는 테이블 크기는 성능 문제가되었다,나는 당신이 생각하지 않을 예측할 수 있고 확실히지 않는 정보로부터 주어진 웹 사이트에서 같은이!

몇 가지 질문을 수도 유용하게 요구하십시오:

  • 이 성능에 현재 가능한가요?
  • 는 방법은 성능을 측정하는- 가 메트릭?
  • 우리는 어떻게 인식 수없는 성능은?
  • 리 성과 측정에는 어떤 방법 허용될 수 있습니다 우리가 예보 문제입니까?
  • 은 우리의 모든 사용한 쿼리 효율적인가?
  • 우리가 시뮬레이션 극중에서 볼륨을 컴퓨터 시스템에 설치 합니다.

를 사용하 MyISAM 에 엔진이 실행하겠습니로 2GB 하드에 대한 제한 테이블 크기를 변경하지 않는 한 기본입니다.

이제까지 적용을 최적화를 생각하지 않는 경우 자유롭게 연출할 수 있습니다.이상적으로 결정해야 합 테스트(다른 사람과 같이 언급했).

수평 또는 수직 분할 성능을 향상시킬 수 있지만 또한 복잡한 응용 프로그램.그것을 하지 않는 않는 한 당신은 확실히 당신이 그것을 필요로하고 그것은 확실히 도움이 될 것입니다.

2G 데이터 MyISAM 파일의 크기는 기본 변경될 수 있습에서 테이블 작성 시간(또는 나중에 변경이지만,그것은 필요를 다시 테이블).이러한 내용이 적용되지 않은 다른 엔진(예:InnoDB).

실제로 이 좋은 질문 성능을 향상시킬 수 있습니다.당신은 읽 제이 파이프?이 없는 특정 숫자의 행이 있지만 특정 페이지로 크기를 읽고 있을 수 있는 좋은 이유에 대한 수직 분할합니다.

체크인 나 자신의 쿵푸 프레젠테이션 및가를 통해 자신의 게시물이 있습니다.나는 확실히 당신을 찾는 그의 작성 일부에 대한 유용한 조언이다.

당신은 당신을 사용하여 MyISAM?는 것을 계획해 당신은 상점의 커플보다 더 많은 기가바이트가?시 MAX_ROWS 및 AVG_ROW_LENGTH.

제레미 Zawodny 가 우수 write-up 에 어떻게 이 문제를 해결합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top