본문 바로가기

개발자12

2019 WRITE THE DOCS SEOUL 후기 (feat.jojoldu) 2019 WRITE THE DOCS WRITE THE DOCS 소개보통 개발자라면 docs 로 된 기술 설명서, Reference를 많이 보게 되는데 이러한 기술의 문서화에서 시작했다.첫번째, 변성윤 - 쏘카 데이터 그룹 머신러닝 엔지니어https://zzsza.github.io/까먹는게 싫어서 개발 블로그 시작글 잘쓰는 것이 힘들다. 꾸준한 노력이 필요하다글또(글쓰는 또라이) 모임을 통해 글 잘쓰는 개발자 양성중두번째, 김대권 - 당근마켓 소프트웨어 엔지니어https://www.44bits.io/ko기술 블로그의 주요한 유입경로Social Media : sns 공유 -> 팔로워가 없으면 읽는 사람도 없음, 하루이틀이면 유입이 끝남Organic Search : 대부분의 방문자가 구글 검색으로 들어옴구글은.. 2019. 3. 23.
[SQLP] 4장. 인덱스와 조인 - 인덱스 튜닝 1. 인덱스 튜닝 기초가. 범위 스캔이 불가능하거나 인덱스 사용이 아예 불가능한 경우아래와 같이 인덱스 선두 칼럼을 조건절에서 가공하면 정상적으로 인덱스를 사용할 수 없다.select * from 업체 where substr(업체명, 1, 2) = ‘대한’나. 인덱스 칼럼의 가공인덱스 칼럼을 가공하면 정상적인 Index Range Scan이 불가능해진다.SELECT * FROM 업체 WHERE SUBSTR(업체명,1,2) = '대한' 위와 같은 SQL은 아래처럼 바꿔야 인덱스를 탈 수 있다.SELECT * FROM 업체 WHERE 업체명 LIKE '대한%' 다. 묵시적 형변환인덱스 칼럼을 사용자가 명시적으로 가공하지 않더라도 조건절에서 비교되는 두 값의 데이터 타입이 다르면 내부적으로 형변환이 일어난다... 2019. 3. 19.
[SQLP] 3장. 옵티마이저 원리 - 쿼리변환 쿼리 변환1. 쿼리변환쿼리 변환(Query Transformation)은, 옵티마이저가 SQL을 분석해 의미적으로 동일하면서도 더 나은 성능이 기대되는 형태로 재작성하는 것을 말함2. 서브쿼리 Unnesting중첩된 서브쿼리(Nested Subquery)를 풀어내는 것을 말함서브쿼리를 메인쿼리와 같은 레벨로 풀어낸다면 다양한 액세스 경로와 조인 메소드를 평가할 수 있음3. 뷰 Merging사람의 눈으로 볼 때는 쿼리를 블록화하는 것이 더 읽기 편할지 모르지만 최적화를 수행하는 옵티마이저의 시각에서는 더 불편함의 뷰 쿼리 블록은 액세스 쿼리 블록(뷰를 참조하는 쿼리 블록)과의 머지(merge) 과정을 거쳐 와 같은 형태로 변환되는데, 이를 ‘뷰 Merging’이라고 함select * from (select.. 2019. 3. 17.
[SQLP] 3장. 옵티마이저 원리 - 옵티마이저 1. 옵티마이저 소개가. 옵티마이저란?SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해 주는 DBMS 핵심엔진사용자가 던진 쿼리수행을 위해, 후보군이 될만한 실행계획을 찾는다.딕셔너리에 미리 수집해 놓은 오브젝트 통계정보를 이용해 예상비용을 산정한다.각 실행계획을 비교해서 최저비용을 갖는 하나를 선택한다.나. 옵티마이저 종류1) 규칙기반 옵티마이저Rule-Based Optimizer (RBO). 다른 말로 ‘휴리스틱 옵티마이저’경로별 우선순위로 규칙산정인덱스 구조, 연산자, 조건절 형태가 순위를 결정짓는 주요인2) 비용기반 옵티마이저Cost-Based Optimizer (CBO)비용이란 쿼리를 수행하는데 소요되는 일량 또는 시간레코드 개수, 블록 개수, 평균 행 길이, 칼럼 값의 수, 칼.. 2019. 3. 14.