본문 바로가기

데이터베이스3

[Mysql] java.sql.SQLException: The table {} is full 개발 중 위 에러를 만났을 때 대처법🤔 해당 에러는 mysql 메모리 테이블이 증가할 수 있는 최대 크기를 초과했거나 내부 메모리 내 임시 테이블의 최대 크기를 초과한 경우 발생한다. * 해결 방법 1. DB를 재시작해야 하는 경우 mysql.cnf 파일을 찾아(/etc/mysql/~) max_heap_table_size = {원하는 사이즈} tmp_table_size = {원하는 사이즈} 위의 설정값을 추가 후 DB를 재시작해주도록 하자. mysql 8.0.~ 버전 기준 default size는 16777216이다. 만약 문제가 생겼다면 default size보다 크게 설정하도록 하자. 2. DB를 재시작하지 않아도 되는 경우 실제 운영중엔 DB를 곧바로 재시작할 수 없을 것이다.. DB를 재시작할 수.. 2023. 11. 30.
[MYSQL] 테이블 정의서 만들기 개발자로 일을 하다 보면 특정 DB나 테이블에 관해서 정의서를 작성해야 하는 경우가 생긴다. 🫠 너무나 많은 테이블, 너무나 많은 필드...좀 쉽게 할 수 있을까? 🤔 쿼리로 테이블 정의서 생성하기 SELECT t1.table_name, t1.table_comment, column_name, data_type, column_type, column_key, is_nullable, column_default, extra, column_comment FROM (SELECT table_name, table_comment FROM information_schema.TABLES WHERE table_schema={DB명} ) t1, (SELECT table_name, column_name, data_type, c.. 2023. 11. 19.
SQL 기본적인 쿼리 튜닝에 관하여 SQL을 사용하면서 알아두면 좋을 기본적인 쿼리 튜닝에 관하여 알아보자... 주의하면서 SQL 쿼리를 짜다보면 데이터베이스 튜닝이나 쿼리 튜닝을 맞이 할 날이 하루라도 미뤄지지 않을까? MySQL || mariaDB 같은 경우 개발하면서 자신이 짠 쿼리를 EXPLAIN 명령어를 붙여 수시로 쿼리 플랜을 확인해주는 것이 좋다~ 1. 복합 인덱스를 만들었다면 WHERE 조건에서 해당 컬럼들을 모두 사용해야 한다. A와 B 컬럼을 복합 인덱스로 생성한 후 WHERE 조건에서 A컬럼만 사용한다면 옵티마이저가 인덱스를 사용하지 않게 된다. 옵티마이저가 인덱스를 잘 사용할 수 있도록 복합 인덱스를 만들었다면 해당 컬럼들을 모두 사용하고 그렇지 않다면 단일 인덱스를 만들어 사용해야한다.. 2. 인덱스 컬럼에 사용하는.. 2022. 6. 28.