2021/10/17 3

09. 기술면접 - 데이터베이스 - 효과적인 쿼리 저장

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 1. Select 시 에는 꼭 필요한 컬럼만 불러와야 한다 SELECT * FROM member; SELECT id FROM member; - 많은 필드 값을 불러올수록 DB는 더 많은 로드를 부담하게 되기 때문 - 컬럼 중에 불필요한 값을 가진 필드가 있다면 과감히 제외하고, 꼭 필요한 열만 불러오는 것이 좋다 2. 조건 부여 시, 가급적이면 기존 DB값에 별도의 연산을 걸지 않는 것이 좋다 -- 나쁜 SELECT m.id, ANY_VALUE(m.title) title, COUNT(r.id) r_count FROM movie m INNER JOIN rating r ON m.id = r.movie_i..

07. 기술면접 - 데이터베이스 - Statement와 PrepareStatement

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 Statement 와 PreparedStatement SQL 을 실행할 수 있는 객체입니다 Statement 1. 단일로 사용될 때 빠른 속도를 지닙니다. 2. 쿼리에 인자를 부여할 수 없습니다. 3. 매번 컴파일을 수행해야 합니다. PreparedStatement 1. 쿼리에 인자를 부여할 수 있습니다. 2. 처음 프리컴파일 된 후, 이후에는 컴파일을 수행하지 않습니다. 3. 여러번 수행될 때 빠른 속도를 지닙니다. (동일한 쿼리문을 조금씩 바꿔서 여러번 실행해야 할 때 좋다) 과정 1. 준비(Prepare) : 먼저 애플리케이션은 문의(Query) 틀을 만들고 이를 DBMS 로 보낸다. 특정값은 ..

06. 기술면접 - 데이터베이스 - 인덱스 (Index)

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 인덱스 (Index) - 인덱스(index)의 원래 뜻은 색인. 데이터베이스에서 조회 및 검색을 더 빠르게 할 수 있는 방법/기술, 혹은 이에 쓰이는 자료구조 자체를 의미하기도 한다 메모리에서 인덱스를 생성하여 파일형태로 저장해놓는다 인덱스를 활용하면 데이터를 조회하는 SELECT 외에도 UPDATE 나 DELETE 의 성능이 함께 향상된다 그러한 이유는 해당 연산을 수행하려면 해당 대상을 조회해야만 작업을 할 수 있기 때문이다 인덱스 관리 DBMS는 index 를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색할 수 있다 그렇기 때문에 인덱스가 적용된 컬럼에 INSERT, UPDATE,..