- DI
- 1차원 배열
- select
- 프로그래머스
- nginx
- spring security 6
- 데이터베이스
- jpa
- 문자열
- Django
- PYTHON
- java
- ORM
- Docker
- SSL
- static
- 자바
- 스프링부트
- springboot
- spring boot
- sql
- string
- spring
- spring mvc
- 스프링
- join
- AWS
- @transactional
- mysql
- hibernate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록mysql (5)
개발하는 자몽
상황1:N 관계가 얽혀있는 엔티티를 대상으로 Spring Data JPA를 이용해서 Pagination 조회를 하니 말로만 듣던 N+1 상황이 발생했다. 처음에는 일반적인 해결 방법인 Fetch Join을 사용하려고 했다. 더불어 중복을 방지하기 위해 `DISTINCT` 추가하려고 했다. 그러나 1:N 관계의 컬렉션을 Fetch Join 하면서 동시에 Pagination을 사용하는 것은 OutOfMemoryError가 발생할 수 있고, 이로 인해 `DISTINCT`를 적용할 수 없다고 한다. 그래서 찾은 다른 방법 중 가장 빠르고 쉬운 방법은 Batch Size를 설정하는 것이었다. 하이버네이트 Batch Size 하이버네이트에서 제공하는 `@BatchSize` 애노테이션이나 `batch_size`..
이전 포스트 [AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다. 2. backend-jaamong.tistory.com Docker에서 MySQL을 띄웠다면 이번에는 MySQL과 SpringBoot를 연동할 시간! IntelliJ Community 환경에서 SpringBoot와 (EC2 인스턴스에 설치한 Docker에 띄운) MySQL을 연동해 보자. 이렇게 있어 보이게 말했지만, 사실 별거 없다. build.gradle에..
목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 ❗ 24년도에 인스턴스 생성 과정을 다룬 포스트를 다시 작성했으니, 최신 글을 원한다면 여기로! 1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다. 2. 원하는 이름을 입력한다. 3. 우분투 상에서 진행할 예정이므로 OS는 Ubuntu를 선택하고, 22.04 LTS 버전을 선택한다. 4. 인스턴스 유형 중에서 t2.micro는 프리티어로 사용할 수 있다. 하지만 Docker를 띄우고 애플리케이션까지 운영하려면 메모리가 부족할 가능성이 높아서 t3.small로 선택했다. 5. 키 페어가 없다면 새 키 페어 생성을 클릭하여 생성한..
SQL Error [1093] [HY000] : You can't specify target table '테이블명' for update in FROM clause 원인 위 명령어를 실행하려는 테이블과 같은 테이블에서 서브 쿼리로 값을 가져오려는 시도 UPDATE UserPlantList SET status=? WHERE userIdx=? AND uPlantIdx=(SELECT uPlantIdx FROM FROM UserPlantList WHERE status=?) 해당 에러는 MySQL에서 특정 테이블에 INSERT, UPDATE, DELETE 등을 수행할 때 발생하는 에러이다. (오라클은 문제없이 돌아가지만 MySQL에서는 지원되지 않는다.) 덕분에 어제 뭐가 문제인지 몰라서 한참 고생했다. 해결 서브..
MySQL Server : 오라클에서 관리 및 지원하는 오픈 소스 관계형 데이터베이스 Workbench : MySQL Server를 관리하기 위한 소프트웨어 (SQL 사용) Workbench 화면 구성(윈도우 기준) 데이터베이스 관리 SQL 명령어 실행 결과 출력 Workbench 단축키와 주석 처리 주석 : /* 내용 */ Ctrl + T : 새로운 쿼리창 열기 Ctrl + Enter : 쿼리 실행 Ctrl + S : 쿼리 저장 간단한 SQL 명령어 (대소문자 구분 X) SQL 명령어 설명 CREATE DATABASE 데이터베이스이름; 데이터 베이스 생성 USE 데이터베이스이름; 해당 데이터베이스 사용 DROP DATABASE 데이터베이스이름; 데이터 베이스 삭제