Free Lines Arrow
본문 바로가기
728x90

DataBase60

[JPA] Lazy 와 Eager Lazy 란? 지연로딩이라고 한다. 언제쓸까? Member 객체안에 Team 객체가 있다고 생각해봅시다. Member 안에 team을 쓰는 경우가 드물다면? 보통은 Member 를 조회하면 안에 있는 Team도 같이 조회가 된다. 그렇게 되면 불필요한 연산이 추가가 되는 것이다. Lazy를 사용하면 된다. Lazy 예제 FetchType.LAZY 를 써주면 된다. - @ManyToOne(fetch = FetchType.LAZY) Member class @Entity public class Member { @Id //PK 설정 @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "name", nullable = false,.. 2021. 8. 19.
[DB] NoSQL No SQL 이란? 여러 정의들이 있지만 대부분 Not Only SQL 로 해석한다. 그 이유는 SQL 보다 무언가 를 추가 했다는 뜻이다. 특징 NoSQL 데이터베이스는 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 데이터베이스이다. NoSQL 데이터베이스는 개발의 용이성, 기능성 및 확장성이 높다. 유연성: - 유연한 스키마를 제공한다. 확장성: - 분산형 하드웨어 클러스터를 이용해 확장하도록 설계 고성능: NoSQL 데이터베이스는 특정 데이터 모델 및 액세스 패턴에 대해 최적화되어 관계형 데이터베이스를 통해 유사한 기능을 충족하려 할 때보다 뛰어난 성능을 얻게 해준다. 고기능성: NoSQL 데이터베이스는 각 데이터 모델에 맞춰 특별히 구축된 뛰어난 기능의 API와 데이터 유형을 제공한다. N.. 2021. 8. 19.
[DB] Index 기초 Index 란? DB 테이블의 검색속도를 향상시키키 위한 자료구조이다. - 결국엔 하나의 테이블이다. 책에 표지순서가 없으면 A에 대한내용이 나올때까지 다 찾아봐야 한다. 표지순서가 있다면 A를 금방 찾을수 있다. 클러스터(Cluster) 갑자기 클러스터가 나와서 뭐지? 싶었다. - 인덱스 개념과 이어지기 때문에 알고 있는게 좋을것 같다. 클러스터는 다중데이터베이스와 다중테이블이 조인되는것을 말한다. 클러스터키 값을 공유하는 테이블들의 레코드는 근처의 DB 블록에 함께 저장된다. 클러스터는 B-Tree 인덱스 또는 해쉬 테이블로 키화된다 장점 클러스터키 값을 공유하는 테이블들의 레코드는 근처의 DB 블록에 함께 저장된다. - 디스크 I/O 를 줄여준다,. Join 이 발생할 경우 처리시간이 단축된다. 클.. 2021. 8. 19.
[JPA] 프록시 프록시 JPA에서 객체를 조회 할때 find 함수 왜에도 getReference 가 있다. getReference 를 할 경우 프록시를 가져온다. 프록시는 일단 가짜 엔티티 라고 생각하자. 멤버가 팀을 가지고 있는 구조에서 멤버만 find 했을때 항상 Team 도 같이 불러 온다. 꼭 그래야 할까? 아니다 Proxy를 사용했을때 멤버에서 팀을 호출 하는 순간 쿼리가 조회된다. 프록시의 구조 실제 클래스를 상속 받아 만들어 진다. 실제 클래스와 겉 모양이 같다. 하이버네이트가 내부의 라이브러리를 사용해서 가짜 엔티티 객체를 준다. 아래 그림을 보면 실제 Entity 를 상속 받아서 Proxy가 만들어 진다. 프록시는 껍대기 라고 생각하면 된다. - 실제로는 ID 값만 가지고 있다. 프록시는 어떤 역할을 하.. 2021. 8. 11.
728x90
반응형