반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- error
- mac os git error
- AWS CLI
- java version
- java 버전 변경
- OpenFeign
- yum install java
- springboot
- log error
- No tests found for given includes
- mysql executequery error
- easy
- java 11
- tls프로토콜확인
- java 여러개 버전
- xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
- JUnit
- ssl이란?
- java
- springboottest
- ssl프로토콜확인
- Java 1.8
- LeetCode
- xcrun: error: invalid active developer path
- parse
- java 1.8 11
- Medium
- statement.executequery() cannot issue statements that do not produce result sets.
- aws
- 스프링부트테스트
Archives
- Today
- Total
쩨이엠 개발 블로그
[MySQL] 파티션 추가 / 재구성 본문
728x90
반응형
자동 파티셔닝을 안해놔서 파티션 추가해야할 일이 생겼다
일단 조회를 해본다
파티션 조회
select * from information_schema.partitions where table_name=TABLE_NAME;
그러면 파티션을 조회하였으니
파티션을 추가해보기로 한다
파티션 추가
ALTER TABLE `테이블` PARTITION BY RANGE(함수(`필드명`)) (
PARTITION `파티션명` VALUES LESS THAN (값),
PARTITION `파티션명` VALUES LESS THAN (값)
)
여기에서 에러가 난다면 처음 파티션을 생성할 때 만든 p_future ( 혹은 p_max 등등) 때문인데
이 것이 MAXVALUE보다 아래인것으로 나머지를 포괄하고 있기 때문이다
#파티션 생성과정
PARTITION BY RANGE (TO_DAYS(`create_at`)) (
PARTITION P202008 VALUES LESS THAN (TO_DAYS('2020-09-01')),
...
PARTITION p_future VALUES LESS THAN MAXVALUE
);
이런 경우 파티션을 그냥 추가할 수는 없고 p_future를 쪼개서 다시 재구성을 해주어야 한다
파티션 재구성
ALTER TABLE TABLE_NAME REORGANIZE PARTITION p_future INTO (
PARTITION P202201 VALUES LESS THAN (TO_DAYS('2022-02-01')),
PARTITION P202202 VALUES LESS THAN (TO_DAYS('2022-03-01')),
PARTITION P202203 VALUES LESS THAN (TO_DAYS('2022-04-01')),
PARTITION P202204 VALUES LESS THAN (TO_DAYS('2022-05-01')),
PARTITION P202205 VALUES LESS THAN (TO_DAYS('2022-06-01')),
PARTITION p_future VALUES LESS THAN MAXVALUE
);
이런식으로 마지막 MAXVALUE를 가진 p_future를 재구성해주면 완료 !
73만 row는 6초, 4천만 row는 62초 걸렸으니 파티션 재구성할때에도 시간은 많이 걸리지 않는다
만약 이 때 이런 에러 코드가 나온다면
Error Code: 2013. Lost connection to MySQL server during query
Edit > Preference > SQL Editor에 가서 DBMS connection read timeout interval ( in seconds) 부분을 바꿔주면 된다
너무 긴것도 불안해서 나는 120초로 맞춰둠
상관없다면 999로 해도 될 듯 하다
728x90
반응형
'개발 > ETC' 카테고리의 다른 글
[ linux ] crontab 특정 유저로 실행하기 (0) | 2022.12.13 |
---|---|
[linux] Binary file * matches 및 Grep option 사용법 (0) | 2022.04.05 |
[ git ] repository 저장소 옮기기 (+ 커밋까지) (0) | 2021.03.31 |
[ Homebrew ] 권한 오류 Permission denied @ apply2files (0) | 2021.03.11 |
[ gradle ] gradle lombok cannot find symbol (0) | 2021.01.18 |
Comments