cs 메모장
Q. 데이터베이스에서 베타락이란 무엇인가요?/ Q. DB 에서 인덱스의 장점을 말해주세요./ Q. 데이터베이스 옵티마이저에 대해 설명해주세요./ Q. 풀스캔(FULL SCAN)에 대해 설명해주세요./ Q. JPA 를 사용하면 좋은 점이 무엇이 있나요?/ Q. 인덱스란 무엇인가요? 어떻게 동작 하나요?/
nakgopsae
2024. 7. 26. 11:02
Q. 데이터베이스에서 베타락이란 무엇인가요?
베타락이란
특정 데이터베이스 트랜잭션이 데이터에 대한 변경을 수행하는 동안 다른 트랜잭션이 해당 데이터에 접근하지 못하도록 하는 잠금메커니즘입니다 주로 쓰기 작업중에 데이터 무결성을 유지하기 위해 사용됩니다 베타락에는 공유잠금(읽기 잠금) 과 배타 잠금(쓰기 잠금) 이 있습니다 베타락에 걸리면 다른 트랙잭션이 읽거나 쓸 수 없습니다
Q. DB 에서 인덱스의 장점을 말해주세요.
인덱스의 장점으로는
1. 쿼리 성능 향상 : 검색 성능이 빨라집니다
2. 효율적인 데이터 정렬: 특정 컬럼을 기준으로 정렬된 상태를 유지할 수 있어 데이터를 정렬하는데 필요한 시간이 빨라집니다
3. 빠른 집합연산 : 인덱스를 사용하면 집합연산을 보다 빠르게 수행할 수 있습니다
Q. 데이터베이스 옵티마이저에 대해 설명해주세요.
옵티마이저란 데이터베이스 관리 시스템의 일부로 sql 쿼리를 최적화 하여 가장 효율적인 실행 계획을 선택하는 역할을 합니다 쿼리의구조 테이블의 통계정보 인덱스 조인순서 등을고려하여 최적의 쿼리 실행방법을 결정합니다 이를 통해 실행시간을 단축하고 데이터베이스의 성능을 향상시킬 수 있습니다
Q. 풀스캔(FULL SCAN)에 대해 설명해주세요.
풀스캔은 테이블의 모든 행을 읽는 방식의 데이터 검색 방법입니다 대량의 데이터를 처리할 때 성능저하가 있을 수 있으며 소수의 행을 검색하거나 데이터가 적은 테이블에서는 풀 스캔이 사용될 수 있습니다
Q. JPA 를 사용하면 좋은 점이 무엇이 있나요?
Java Persistence API 는 자바 기반의 ORM(객체-관계 매핑) 프레임워크입니다
장점으로는
1.코드 재사용성 및 데이터베이스 독립성: 특정 데이터베이스에 종속되지 않고 독립적이며 일관성있는 객체와 관계형 데이터베이스 사이의 매핑을 제공합니다
2.개발 효율성 및 객체지향적 프로그래밍: 데이터베이스와 객체지향 프로그래밍의 매핑을 쉽고 간편하게 관리할 수 있습니다
3.안정성: JPA는 표준기술로 많은 기업에서 사용하고 있습니다 또한 다양한 JPA 구현체가 있어서 안정적인 서비스 제공이 가능합니다
4.자동화된 SQL생성: 복잡한 SQL쿼리를 직접 작성하지 않아도 되며 유지보수가 용이합니다
5.유연성: JPA를 사용하면 다양한 데이터베이스를 지원할 수 있으며 데이터베이스의 변경에 대한 영향이 최소화 됩니다
하이버네이트는 구현체
Q. 인덱스란 무엇인가요? 어떻게 동작 하나요?
인덱스는 데이터베이스 테이블의 특정 열에 대해 검색 속도를 높이기 위해 사용하는 보조 데이터구조로 책의 목차나 색인처럼 특정 데이터를 빠르게 찾을수 있습니다 전체 테이블을 스캔하지 않고 테이블의 특정열을 기준으로 데이터를 정렬하여 필요한 데이터의 위치를 빠르게 찾습니다