본문 바로가기
반응형

MySQL18

Aurora MySQL - TempTable이 터지는 MY-013132 원인 & 튜닝 Aurora MySQL 3의 Reader 인스턴스는 내부 임시테이블 엔진이 항상 TempTable입니다. 임시 데이터가 설정 한도(temptable_max_ram + temptable_max_mmap)를 넘으면 InnoDB 온디스크로 전환 없이 즉시 ERROR 1114 (HY000): table is full로 실패합니다. 이 글은 그 에러가 왜 나는지, 안전한 파라미터 튜닝 값과 모니터링 방법, 그리고 “실패한 쿼리”를 performance_schema로 추적하는 방법까지 한 번에 정리합니다. 1) 왜 Reader에서 1114가 잘 터질까? TempTable 내부 임시테이블을 사용하는 임시 데이터가 많아지면 먼저 **RAM 풀(temptable_max_ram)**을 쓰고, 초과분은 **mmap(로컬 .. 2025. 9. 4.
[ MySQL ] Aurora MySQL 사용법 Aurora MySQL로 여러 서비스 DB를 통합 운영할 때, 제가 꼭 챙기는 것들여러 서비스/테넌트의 데이터를 한 DB 클러스터로 모으면 인프라가 단순해지고 비용도 줄어듭니다. 대신 “테이블은 커지고(혹은 많아지고), 연결 수는 늘고, 쿼리 패턴은 다양해지는” 새로운 난제가 생기죠. 아래는 Aurora MySQL로 통합(Consolidated) 워크로드를 운영하면서 제가 체크하는 핵심 포인트입니다.1) 먼저, 한계와 전제를 알아두기스토리지 상한과 페이지 구조: Aurora MySQL은 클러스터 스토리지가 크게 확장되지만 무한대는 아닙니다. InnoDB의 16KiB 페이지 구조를 그대로 따르기 때문에, 열(컬럼) 길이가 커질수록 페이지당 레코드 밀도가 떨어져 I/O 비용이 커집니다.“대용량” 기본기: 통.. 2025. 8. 13.
MySQL - Online DDL 이란? 그리고 테스트 [ 테스트 시나리오 ]데이터 인입중 Online DDL(INSTANT/INPLACE) 로 컬럼 추가INSTANT - Not Null · Default 조건 · AFTER COLUMN INPLACE - Not Null · Default 조건 · AFTER COLUMN ****주의 사항 ***“innodb_online_alter_log_max_size” 사이즈 증설 필요💡8.0.29 이후 AFTER COLUMN 사용 가능!! The INSTANT algorithm can add a column at any position in the table. Before MySQL 8.0.29, the INSTANT algorithm could only add a column as the last column of t.. 2025. 6. 20.
MySQL - VARCHAR B-Tree 인덱스 vs. FULLTEXT 인덱스 (MySQL 8.0 InnoDB 기준 ― 성능·효율·디스크 사용 비교) 항목B-Tree 인덱스(INDEX idx_col (col[(_len)]))FULLTEXT 인덱스(FULLTEXT INDEX ft_col (col))지원 검색 형식완전 일치 (=)범위 (>, 접두 검색 (LIKE 'abc%', col >= 'abc' AND col 자유 키워드 (MATCH … AGAINST)중간 포함(LIKE '%word%' 대비 훨씬 빠름)불린 연산 (+word -noise)색인 구조단순 B-Tree값 전체(또는 지정 접두 길이) 그대로 저장, 정렬 순 유지역색인(inverted index) + 스톱워드·스테밍(언어별) 처리 → “단어” 기준 키 & 문서목록읽기 성능• O(log n) 탐색 + range scan (접.. 2025. 6. 13.
반응형