> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 '행 크기가 너무 큼' 오류를 어떻게 수정할 수 있습니까?

MySQL의 '행 크기가 너무 큼' 오류를 어떻게 수정할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-08 17:46:11
원래의
571명이 탐색했습니다.

How Can I Fix MySQL's

대규모 데이터에 대한 MySQL 행 크기 제한 조정

"행 크기가 너무 큼(> 8126)" 오류 메시지는 MySQL 테이블의 행이 기본 8KB 제한. 테이블 열에 사용된 데이터 유형을 포함하여 여러 요인이 이 문제에 영향을 미칩니다.

한 가지 가능한 해결책은 일부 열을 TEXT 또는 BLOB 데이터 유형으로 변경하는 것입니다. 이러한 유형은 더 많은 양의 데이터를 수용할 수 있기 때문입니다. 또한 ROW_FORMAT=DYNAMIC 또는 ROW_FORMAT=COMPRESSED를 사용하면 데이터를 더 효율적인 방식으로 저장하여 행 크기를 줄이는 데 도움이 될 수 있습니다.

그러나 제공된 오류 메시지는 이러한 수정에도 불구하고 행 크기가 여전히 너무 크다. 이는 InnoDB 스토리지 엔진이 행 내에서 BLOB 데이터의 처음 768바이트를 인라인으로 저장하여 행 크기를 더욱 제한하기 때문입니다.

이 문제를 해결하려면 다음 솔루션 구현을 고려하십시오.

  1. 바라쿠다 파일로 전환 형식:

    • my.cnf에 다음을 추가합니다. 파일:

      • innodb_file_per_table=1
        로그인 후 복사
    - This file format removes the issue of storing BLOB data inline, allowing larger rows to be accommodated.
    로그인 후 복사
  2. 사용 ROW_FORMAT=COMPRESSED:

    • 다음 쿼리를 실행하여 테이블을 변경합니다. 구조:

      • ALTER TABLE table_name
        ENGINE=InnoDB
        ROW_FORMAT=COMPRESSED
        로그인 후 복사
    - This setting reduces the row size by compressing non-key columns, potentially resolving the issue.
    로그인 후 복사

위 해결 방법으로도 문제가 해결되지 않으면 다음을 고려하세요. my.cnf에 다음 줄을 추가하여 임시 데이터를 저장하기 위해 일시적으로 MyISAM 엔진으로 전환합니다. 파일:

internal_tmp_disk_storage_engine=MyISAM
로그인 후 복사

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

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