분류 전체보기

CS/Database

[Database] 데이터베이스 index, clustered index, non-clustered index 이해하기

Index인덱스 파일은 데이터베이스에서 쿼리 성능을 향상시키기 위해 테이블의 특정 컬럼 값과 해당 행의 위치(Pointer)를 저장합니다.인덱스는 테이블의 데이터를 효율적으로 검색하기 위한 자료구조를 활용합니다. (B-Tree, Hash)Indexed Column Value인덱스가 설정된 컬럼의 실제 값들이 저장됩니다.해당 값을 이용해 데이터베이스가 특정 행을 찾는 데 필요한 정보로 사용합니다.Indexed Column Value: 101, 102, 103, 104, ...Row Pointer인덱스 파일에는 해당 인덱스 키 값이 테이블의 어느 행에 위치하는지에 대한 정보를 나타내는 포인터가 함께 저장됩니다.해당 포인터는 테이블의 실제 데이터 행을 가리킵니다.Indexed Column Value: 101 ..

JAVA

[Java] Java Switch와 if/else 성능 비교 - jump table, lookup table

Enum, int 형을 기준으로 조건문을 작성해야 하는 일이 있었습니다.Java 버전이 업데이트되면서 switch 문이 조금씩 변경되는 것을 확인하고if/else 문과 switch 문의 성능적으로 어떤 차이가 있는지 궁금했습니다.또한 어떤 차이가 있고 어느 상황에서 switch문을 (if-else문) 사용하면 좋은지 정리해보고자 합니다.Switch vs if/elseif-else 문은 조건을 위에서부터 순차적으로 확인합니다.각 조건을 순서대로 검사하기 때문에 조건이 많아지거나 복잡해질수록 성능 저하가 발생할 수 있습니다.switch 문은 조건이 int, char, enum, String 같은 특정 타입일 때 내부적으로 효율적인 분기 처리를 합니다.jump table, lookup table을 사용하여 분..

Spring Framework/QueryDSL

[Querydsl] QueryDSL @QueryProjection 프로젝션 활용법 : DTO, Bean, Field, Constructor 사용법

Querydsl을 통해 쿼리문을 작성하면서 프로젝션 하는 방법에 대해 정리하고자 합니다.그 중 Type Safe 체크와 immutable 객체 선언이 가능한 생성자 + @QueryProjection을 사용하고 있습니다.Projection이란데이터베이스에서 프로젝션은 주어진 릴레이션에 대해 각 레코드에서 원하는 애트리뷰트 집합으로만 이루어진 새로운 릴레이션을 만드는 단일 연산자입니다.Querydsl에서 Projection 다루기프로젝션 대상이 1개List result = queryFactory .select(member.username) .from(member) .fetch();프로젝션 대상이 하나인 경우 타입을 명확하게 지정할 수 있습니다.프로젝션 대상이 2개 이상이..

Python/Python

[Python] 파이썬 all, any 함수 사용법

all파이썬의 all(x) 내장 함수는 반복 가능한 데이터(iterable) x를 입력 값으로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 리턴합니다.print(all([1,2,3]))# Trueprint(all([0,1,2,3]))# False이를 응용해서 리스트에 있는 값이 모두 참인지 확인할 수 있다.### 5*5 배열에서 빙고 여부 확인하기# 세로에 있는 값이 모두 0인지for i in range(5): if all(arr[j][i] == 0 for j in range(5)): tmp += 1# (0, 0) -> (4, 4) 대각선이 모두 0인지if (all(arr[i][i] == 0 for i in range(5))): tmp += 1all() 함수..

kylo
'분류 전체보기' 카테고리의 글 목록 (21 Page)