> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 '행 크기가 너무 큼' 오류를 수정하는 방법은 무엇입니까?

MySQL의 '행 크기가 너무 큼' 오류를 수정하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-10 09:17:10
원래의
807명이 탐색했습니다.

How to Fix MySQL's

MySQL 행 크기 제한 수정 방법

"행 크기가 너무 큼(> 8126)" 오류가 발생하면 허용되는 최대 행 크기를 나타냅니다. MySQL이 초과되었습니다. 이 문제를 해결하려면 특정 테이블 디자인 고려 사항과 데이터베이스 구성 조정을 구현할 수 있습니다.

권장 사항

Stack Exchange에서 제안된 제안 솔루션에는 my.cnf 파일의 설정을 수정하는 것이 포함됩니다.

  1. Barracuda 파일 형식 활성화: Barracuda 파일을 사용하도록 InnoDB 구성 innodb_file_format=Barracuda를 설정하여 형식을 지정합니다. 이렇게 하면 BLOB 데이터의 일부를 인라인으로 저장할 필요가 없어 행 크기가 줄어듭니다.
  2. ROW_FORMAT=COMPRESSED 사용: 테이블의 행 형식을 ROW_FORMAT=COMPRESSED로 변경합니다. 이 형식은 압축을 적용하여 BLOB 데이터의 크기를 줄입니다.

예제 명령:

ALTER TABLE table_name
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
로그인 후 복사
  1. MyISAM으로 대체: In 위의 조치로 문제가 해결되지 않으면 MyISAM을 내부 데이터용 임시 저장 엔진으로 사용하는 것이 좋습니다. my.cnf 파일에 다음 줄을 추가합니다.

    internal_tmp_disk_storage_engine=MyISAM
    로그인 후 복사

Considerations

  1. 테이블 스키마 검토: 테이블의 열을 검사합니다. 및 해당 데이터 유형. 과도한 데이터가 포함된 열을 TEXT 또는 BLOB으로 변경하는 것이 좋습니다.
  2. 동적 또는 압축된 행 형식 사용: 테이블에 대한 ROW_FORMAT=DYNAMIC 또는 ROW_FORMAT=COMPRESSED 옵션은 데이터의 공간 활용을 최적화하는 데 도움이 될 수 있습니다. -무거운 행.
  3. 샤딩 고려: 테이블에 상당한 양의 데이터가 포함되어 있으면 여러 데이터베이스나 테이블에 걸쳐 데이터를 분할하는 것을 고려하세요. 이렇게 하면 각 테이블의 행 크기가 줄어듭니다.

위 내용은 MySQL의 '행 크기가 너무 큼' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿