2
우리는 현재 innodb와 함께 MySQL을 사용하고 있습니다. 우리는 행 포맷이 작은 대형 테이블을 가지고 있습니다. 행 형식을 압축으로 변경하면 테이블에 대해 동일한 크기가 계속 표시됩니다. 누구든지이 이유를 알고 있습니까?왜 행 형식을 변경할 때 테이블 크기가 줄어들지 않습니까?
우리는 현재 innodb와 함께 MySQL을 사용하고 있습니다. 우리는 행 포맷이 작은 대형 테이블을 가지고 있습니다. 행 형식을 압축으로 변경하면 테이블에 대해 동일한 크기가 계속 표시됩니다. 누구든지이 이유를 알고 있습니까?왜 행 형식을 변경할 때 테이블 크기가 줄어들지 않습니까?
테이블에 대해 ROW_FORMAT = COMPRESSED를 선언했지만 구성 값을 활성화하지 않았습니까? innodb_file_format = BARRACUDA?
후자의 단계를 수행하지 않으면 바라쿠다 행 형식에 대한 요청이 영향을 미치지 않습니다. 그리고 이러한 요청은 경고를 생성합니다
mysql> alter table foo row_format=compressed;
Query OK, 0 rows affected, 2 warnings (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 2
mysql> show warnings;
+---------+------+-----------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------------------------------+
| Warning | 1478 | InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope. |
| Warning | 1478 | InnoDB: assuming ROW_FORMAT=COMPACT. |
+---------+------+-----------------------------------------------------------------------+
을 또한, 당신은 또한 innodb_file_per_table
를 사용하지 않는 한 압축 된 행 형식을 사용할 수 없습니다.
mysql> alter table foo row_format=compressed;
Query OK, 0 rows affected, 2 warnings (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 2
mysql> show warnings;
+---------+------+---------------------------------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------------------------------+
| Warning | 1478 | InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table. |
| Warning | 1478 | InnoDB: assuming ROW_FORMAT=COMPACT. |
+---------+------+---------------------------------------------------------------+
행 형식을 변경할 때 경고 메시지가 표시되지 않았습니다. – user962449
이것은 매우 좋은 답변입니다. 감사 빌 - 오늘도 유용한 4me되었습니다 ;-) – Artur