레이블이 4gb인 게시물을 표시합니다. 모든 게시물 표시
레이블이 4gb인 게시물을 표시합니다. 모든 게시물 표시

2013년 9월 15일 일요일

MySQL의의 4기가바이트 한계 극복(Overcoming MySQL's 4GB Limit)

Mysql을 사용하다 보면, 테이블 단위의 크기가 정해져 있다는 것을 알 수 있습니다.

이 크기는 아래와 같이 정해져 있으며, 
Max_data_length : 4294967295

사이즈 변경을 해 주기 전까지는 테이블의 크기는 이 사이즈를 초과할 수 없다.

그래서, rows 수가 많거나 AVG_ROW_LENGTH 가 큰 경우, 
이 4GB를 초과해서 작업을 해야 하는 경우,

Max_data_length 사이즈를 늘려 주어야 한다.

"SHOW TABLE STATUS LIKE 'tmp_jdk_all_imageDetail';"




이는 SQL 명령어를 이용하여 rows size는 확인할 수 있다.

DESCRIBE work.tmp_jdk_all_imageDetail;











아래 SQL 명령어를 이용하여 Max_data_length 를 늘릴 수 있다.

ALTER TABLE work.tmp_jdk_all_imageDetail MAX_ROWS = 10000000 AVG_ROW_LENGTH=4280;





To increase tablespace, use sql command

ex)
ALTER TABLE work.tmp_jdk_all_imageDetail MAX_ROWS = 10000000 AVG_ROW_LENGTH=4280;

MAX_ROWS : expecrted rows.
AVG_ROW_LENGTH : data size by row.

to calculate data size by row

ex)
DESCRIBE work.tmp_jdk_all_imageDetail;

to confirm, use sql command

ex)
SHOW TABLE STATUS LIKE 'tmp_jdk_all_imageDetail';

cf )
table name : work.tmp_jdk_all_imageDetail


you consider, I have a linux machine with 64bit cent OS.