Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 오블완
- 코루틴 컨텍스트
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 겨울 부산
- JanusWebRTCGateway
- tolerated
- 자원부족
- python
- JanusGateway
- Value too long for column
- terminal
- 깡돼후
- 달인막창
- PytestPluginManager
- taint
- JanusWebRTC
- kotlin
- JanusWebRTCServer
- 티스토리챌린지
- VARCHAR (1)
- mp4fpsmod
- 개성국밥
- 코루틴 빌더
- pytest
- preemption #
- vfr video
- PersistenceContext
- table not found
- Spring Batch
- addhooks
Archives
너와 나의 스토리
Indexing이란? 인덱싱하는 이유 장점/단점, ID로 인덱싱하는 게 더 효율적인가? 본문
반응형
Indexing하는 이유
- 디비나 검색엔진에 대량의 데이터가 쌓이면 검색 속도가 노려지는데, 이 때, 데이터를 적절하게 인덱싱(indexing)하면 검색 속도를 획기적으로 높일 수 있다.
Indexing이란?
- 디비나 검색엔진에서 특정 컬럼이나 필드를 색인화(indexing)하여 검색 속도를 높이는 기술.
- 인덱스를 사용하여 검색하는 경우, 해당 인덱스를 기반으로 빠르게 인덱싱된 데이터를 찾을 수 있다.
- 또한, 인덱싱을 통해 데이터의 정합성을 유지하고, 중복 데이터를 최소화할 수 있다. -> 데이터의 일관성과 신뢰성을 높임.
- 다만, 인덱스를 생성하는 과정에서 추가적인 디스크 공간과 처리 시간이 필요함.
Q: Jpa에서 다른 entity의 id로 indexing하는 방법?
- J@Index 어노테이션을 사용하여 해당 필드에 인덱스를 생성할 수 있다.
@Entity
public class MyEntity {
@Id
@GeneratedValue
private Long id;
@ManyToOne
@Index(name="another_entity_id_index") // Index 어노테이션 사용
private AnotherEntity anotherEntity;
// ...
}
Q: Jpa에서 indexing을 적요할 때, id를 적용하는 게 더 효율적인가? 아니면 다른 필드를 indexing해도 성능은 똑같은가?
- JPA에서 인덱싱을 적용할 때, ID 필드를 인덱싱하는 것이 더 효율적이다.
- 이는 대부분의 JPA 구현체에서 ID 필드에 대해 자동으로 인덱스를 생성하기 때문이다.
- 또한 ID 필드는 테이블의 기본키(primary key)로 사용되므로, 검색 속도를 높이는 데에 큰 역할을 함.
Q: Indexing을 적용하는게 항상 효율적인가?
- 성능 향상을 위해서는 인덱스를 적용할 필드의 특성과 사용 패턴에 따라 적절한 인덱스 종류와 인덱스 컬럼을 선택해야 한다.
- 문자열 필드에 대해 인덱싱을 적용할 때는 풀텍스트 인덱스(Full-Text Index)를 사용하는 것이 더 효율적일 수 있다.
- 인덱스는 검색 속도를 높이는 대신, 데이터 변경 작업 시에 인덱스를 업데이트해야 하므로 데이터 변경 속도가 느려질 수 있다.
- 인덱스는 검색 속도를 높이는 대신, 데이터 변경 작업 시에 인덱스를 업데이트해야 하므로 데이터 변경 속도가 느려질 수 있다.
- . 따라서 인덱스를 적용할 필드는 검색 빈도가 높은 필드에 대해 선택하는 것이 좋습니다.
반응형
'개발' 카테고리의 다른 글
[JPA] Hibernate Cache란? / Hibernate cache로 인한 문제 해결 방법 (0) | 2023.06.13 |
---|---|
TDD, 클린 코드 with Java 16기 수강 후기 & 피드백 정리 (0) | 2023.04.08 |
Create Video from VFR images with timestamp / mp4fpsmod 사용 방법 (0) | 2023.01.12 |
로딩 전략(FetchType)과 영속성 전이(Cascade), 즉시 로딩(FetchType.EAGER)의 문제점 (0) | 2022.12.30 |
Pytest 에러: 'PytestPluginManager' object has no attribute 'addhooks' (0) | 2022.09.06 |
Comments