목록쿼리 (6)
개발자는 기록이 답이다

2024.04.19 - [SQL/쿼리 최적화] - 1000만건의 데이터를 대상으로 쿼리최적화 with. 복합인덱스, 커버링인덱스 1000만건의 데이터를 대상으로 쿼리최적화 with. 복합인덱스, 커버링인덱스2024.04.05 - [SQL/쿼리 최적화] - Index를 활용한 10만건의 레코드 Join쿼리를 최적화하자 Index를 활용한 10만건의 레코드 Join쿼리를 최적화하자 마이페이지에서 유저가 발급받은 쿠폰 이력을 조회하는strong-park.tistory.com 지난번 포스팅에서 쿼리 최적화에 대해 작성했었는데, 복합인덱스와 커버링인덱스를 적용했음에도 대규모 데이터셋이라 속도가 느린편이었습니다. 그리고 MySQL상에서 최적화를 해도, API로 연동하고나면 1~2s 정도 더 느려지는 현상이 있었습니..

1. 쿼리파서 사용자 요청으로 들오온 쿼리 문장을 토큰(MySQL이 인식할 수 있는 최소 단위의 어휘나 기호)으로 분리해 트리 형태의 구조로 만들어내는 작업. 쿼리 문장의 기본 문법 오류는 이 과정에서 발견되고 사용자에게 오류 메세지를 전달한다. 2. 전처리기 파서과정에서 만들어진 파서 트리를 기반으로 쿼리 문장에서 구조적인 문제점이 있는지 확인한다. 각 토큰을 테이블 이름이나 칼럼 이름, 또는 내장 함수와 같은 개체를 매핑해 해당 객체의 존재 여부와 객체의 접근권한 등을 확인하는 작업을 수행한다 실제 존재하지 않거나 권한 상 사용할 수 없는 개체의 토큰은 이 단계에서 걸러진다. 3. 옵티마이저 사용자의 요청으로 드러온 쿼리 문장을 저렴한 비용으로 가장 빠르게 처리할지 결정하는 역할 DBMS의 두뇌에 해..

2023.10.06 - [SQL] - Subquery의 select, where, from 절 비교 예제, With절 예제 Subquery의 select, where, from 절 비교 예제, With절 예제 1. Subquery란 무엇인가? 쿼리문 안에 들어가 있는 쿼리를 subquery라고 합니다. 예를 들어, users테이블과 orders테이블이 있다고 가정합시다. 2개의 테이블을 이용해서 kakaopay로 결제한 유저들의 정보 strong-park.tistory.com 1. 문자열 1) SUBSTRING_INDEX() : 문자열 쪼개보기 SUBSTRING_INDEX(string, delimiter, count) -- string: 원본 문자열입니다. delimiter: 구분자입니다. 문자열을 나눌..

1. Subquery란 무엇인가? 쿼리문 안에 들어가 있는 쿼리를 subquery라고 합니다. 예를 들어, users테이블과 orders테이블이 있다고 가정합시다. 2개의 테이블을 이용해서 kakaopay로 결제한 유저들의 정보 찾아볼게요. select u.user_id, u.name, u.email from users u inner join orders o on u.user_id = o.user_id where o.payment_method = 'kakaopay' 위에서 join으로 만든 쿼리를 아래처럼 서브쿼리를 이용해서 바꿀 수 있습니다 select user_id, name, email from users where user_id In ( select user_id from orders where ..