본문 바로가기
반응형

MySQL5

querydsl Pageable(), offset, limit을 이용한 페이징 방법 오늘 QueryDSL을 이용한 페이징을 만드는 일을 했는데, 대충 대충 눈으로만 익혔던 지식의 한계를 느끼며 삽질을 좀 했지만 나름 재미는 있었다. 애초에 '회의록'를 조회하는 조건은 날짜, 검색어, 사용자 등으로 검색한 결과를 JPA Repository를 이용해 페이징을 했었다. '회의록'에 참석한 사용자의 경우에도 회의록을 조회할 경우 자기도 포함된 회의록이 나오도록 수정해달라는 요청을 받았다. 애초, 조인 없이 단일 테이블 조회로 만들어진 기능을 조인을 넣어 현재 로그인 한 사용자가 참석한 회의록이 있을 때도 나오도록 수정하면서 JPA Repository의 pageable을 통한 것이 아니라 QueryResults를 통해 offset과 limit를 이용해 페이징되도록 수정하였다. QueryDSL을 .. 2023. 7. 28.
Data truncation: Data too long for column MySQL에서 Insert문 실행시 나타나는 오류 중의 하나. column이 가진 길이보다 넣을려고 하는 값의 길이가 길 때 나오는 오류다. 컬럼의 길이를 늘리던지, 값을 줄이던지 해서 해결하도록 하자. 2023. 7. 3.
Workbench - Lost connection to MySQL server during query 테이블에 데이터가 많은 경우 쿼리 질의가 오래 걸린다. 특히, 컬럼을 추가하거나 삭제할 때 더욱 오래 걸린다. 가끔 저런 오류 문구가 나올 때가 있다면 다음 설정을 확인해보길 바란다. MySQL Session 탭의 시간을 기본값보다 더 길게 잡는다. 30초, 60초 이렇게 잡혀있다면, 600, 300 으로 늘린 다음, Workbench를 재실행하고 실행해보면 오류가 사라질 것이다. 시간은 뭐, 적당하게 늘려서 ^^ 2023. 4. 4.
MySQL 백업과 복원 명령어 최근 spring boot 프로젝트에서 MySQL을 사용하고 있는데 운영서버와 개발서버간의 데이터 동기화를 위해 자주 사용하는 명령어들이다. 정리 해두면 좋은 명령어. 백업하는 명령어 > mysqldump -u root -p [backup target database name] > [backup filename.sql] 백업된 파일로 복원하는 명령어. > myql -u root -p [복원하려는 database name] < [백업했던 파일명].sql 각, 백업과 복원 명령어가 조금 다르다. mysqldump의 경우 백업하는 MySQL버전과 복원하려는 MySQL버전이 서로 다르면 오류가 날 수 있다. mysqldump관련해서는 별도로 버전 및 오류에 대해 준비를 하는 것이 좋다. 2023. 2. 22.
Mariadb 쿼리 실행계획 참조표 (EXPLAIN) 오늘은 마리아디비의 쿼리 실행계획이 궁금한 날이다. 예전 기억에 MS-SQL의 경우 쿼리실행 계획을 하게 되면 문제가 되는 테이블과 예상 시간, 인덱스 등에 대해 좀더 자세히 볼 수 있었던 것 같은데 마리아디비에서는 잘 모르겠다. 쿼리 실행계획을 수행하기 위해서는 EXPLAIN 쿼리 결과로 나온 내용은 무슨 말인지 전혀 모르겠다. 마리아디비 사이트에서 한글 번역을 해서 참조로 올려둔다. id 순서 테이블이 조인되는 순서를 나타내는 순서 번호입니다. select_type 어떤 종류의 SELECT테이블이 나옵니다. table 테이블의 별명 이름. 하위 쿼리의 구체화 된 임시 테이블 이름은 입니다. type 테이블에서 행을 찾는 방법 (결합 유형) possible_keys 테이블에서 행을 찾는 데 사용할 수있.. 2020. 2. 12.
반응형