728x90
728x90

RDBMS 2

MySQL(MariaDB)의 EXPLAIN으로 실행 결과 분석하기

실행 계획이라고 하면, 쿼리가 어떻게 데이터를 불러오는지에 대한 계획을 의미한다. 실행 계획을 통해서 어떤 테이블이 어떤 방식으로 조회됐는지 확인할 수 있다. 조회 쿼리의 인덱스 사용 유무를 확인할 때, 전체 조회 대상 중에서 검색 조건에 의해 어느정도의 비율로 필터링 되는지와 같이 성능 튜닝에 필요한 요소들을 확인하고자 할 때 쿼리 실행 계획을 확인해보는 것이 좋다. 실행 계획을 확인하는 데 있어서, MySQL(MariaDB)에서는 EXPLAIN, DESCRIBE, DESC를 사용한다. 세 명령어 모두 같은 결과를 내기 때문에 편한 걸 사용하면 된다.(필자는 EXPLAIN을 많이 쓴다.) 사용 예시 EXPLAIN SELECT * FROM employee WHERE employee_num BETWEEN ..

Computer Science/DB 2021.11.07

Elasticsearch와 RDBMS의 용어 비교, 그리고 장단점

Elasticsearch와 RDBMS의 용어 비교 RDBMS Elasticsearch Schema Mapping Database Index Partition Shard Table Type Row Document Column Field Elasticsearch를 써야 할 때? RDBMS 단순 텍스트 매칭에 근거해서 검색을 지원한다. 최신 RDBMS는 Full-text 검색을 지원하지만, 아직도 많은 곳에서 사용하는 RDBMS에서는 이를 지원하지 않는다. 지원한다고 하더라도, 한글에서는 썩 좋은 능력을 보여주지 못하는 부분이 있다. 반면 Elasticsearch는 n-gram 기반 Full-text 검색을 지원한다. 여러 단어로 변형하거나, 동의어/유의어에 근거한 검색도 가능하고 여러 플러그인으로 형태소 기..

Computer Science/DB 2021.06.13
728x90