공부/Database5 조회 성능 조회 쿼리 작성 시 SI 초반에는 정확한 데이터를 갖고 오는 게 중요하겠지만, 실데이터가 어느 정도 들어오는 단계에서는 조회 성능이 중요했던 거 같다. 실제로 잘 동작하던 화면이 어느 날 동작을 안 해서 확인해보면 조회 쿼리 성능이 안 나오는 경우가 많았다[1][2]. 가장 최근 경험으로는 통계 화면 관련해서 쿼리 속도가 안 나왔던 적이 있다. 정확한 내용이 기억이 안 나긴 하는데... 처음 작성했던 쿼리가 무척 길었다. 최대한 단순화 시켰고, 다행히 여기서 속도가 좀 돌아왔던 거 같다. 하지만 여기서 속도가 안 나온다면 실행 계획을 확인해보고, 인덱스 생성을 고려해봐야 한다. 인덱스, 힌트 같은 건 BI 프로젝트에서 Oracle을 사용할 때 주로 경험(많이 듣기만...)했었는데 최근 PostgreSQL.. 2024. 11. 5. Database 경험 많지 않은 IT 경력이지만, 이것저것 몇 가지 관계형 DB(정확히 말하면 DBMS..)를 다뤄보았다. 사실 기껏해봐야 CRUD를 주로 한 거라 구글 검색, 조금 복잡한 건 CHAT GPT로 작성해서 사용했으나 뒤늦게 공부도 할 겸 모르면 모르는대로 조금 남겨본다. 사실 몇 군데 면접을 가면 요즘 때로 DB 차이를 묻기도 해서... Oracle맨 첫 직장에서 주로 사용했었고, 대기업에서 주로 사용한다고 한다(최근 대기업에서는 사용하진 않긴 했는데..).하나의 인스턴스 내 여러 데이터베이스가 아닌 전체 데이터베이스가 존재한다(따라서 쿼리 작성 전에 USE 명령어 사용할 필요 없다). 다만 타 DB와 다르게 User(물리적 컨테이너)와 Schema 개념이 있는데[1][2], 사용자는 스키마를 기준으로 작업을 .. 2024. 11. 5. JOIN과 Sub-Query의 차이 최근 프로그래머스의 없어진 SQL 문제(없어진 기록 찾기)를 풀었는데 두 가지 풀이법[1]이 있음을 알았습니다. 평소 떠오르는대로 SQL을 짜는 편인데 이 기회를 통해 두 방법의 차이에 대해 공부, 기록하면 좋겠다 싶어 작성합니다(특히 다음 글을 많이 참고하였습니다). 글의 내용은 공부하며 보완해나갈 예정입니다. _____ 조인과 서브쿼리는 때로 동일한 결과를 얻을 수 있다. 따라서 쿼리 작성 시 서브쿼리를 사용할지 조인을 사용할지 선택하는 것이 필요하다. 이 두 녀석은 차이가 있고(아직은 잘 모르), 많은 경우 서브쿼리가 사용하기 쉬워보이지만 효율성의 측면에서 조인이 권장된다[2]. 그렇다면 어떤 경우 서브쿼리를 조인으로 대체해야 할까?[4] 첫째, 스칼라 서브쿼리[5]다. 아래 예를 보자. // 방법.. 2021. 4. 17. LISTAGG Function 일전에 SQL 스터디를 하며 오라클의 LISTAGG 함수[1]에 대해 들어본 적은 있었습니다. 하지만 일하며 직접 사용해본 적이 없어서인지 들으면서도 언제 사용하면 좋을지에 대해선 짐작이 안 갔습니다. 마침 최근 프로젝트에서 LISTAGG 함수를 이용한 경험을 하게 되어 기초적일 수 있지만 기억에 남기기 위해 글을 작성합니다. 글에 대한 피드백이 있다면 댓글 남겨주시면 감사하겠습니다. _____ 내가 작업 중인 화면은 대략 아래와 비슷했다. 설명하자면, 특정일자로 조회하면 좌측에 해당 일자에 대한 'K리그 경기 일정'이 조회된다. 이 목록에서 특정 경기를 선택하면 우측 상단의 '협회 등록 선수 명단'에서 해당 경기를 뛴 선수에 대해 체크 박스 표시가 된다. 추가적으로 테이블 설계는 다음과 같았다. 이때 .. 2021. 1. 12. 이전 1 2 다음