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.

댓글 없음: