MySQL8 해시조인(Hash Join)

1. Hash Join MySQL 에서는 오랜 기간 조인의 Method가 nested loop join 방식만 지원되어왔습니다  물론 nested loop join에서 driven table 로의 random access 를 줄이는 BKA (Batched Key Access )을 사용하거나 join 의 대상을 작은 block 으로 나누어 block 하나씩 join…

RHEL 새로운 정책 - 16개 서브스크립션까지 무료 정책 - IBM 레드햇 리눅스

RHEL 은 Red Hat Enterprise Linux 입니다. 레드햇에서 개발한 리눅스 배포판으로 기반은 페도라 이며(Upstream) 최신 버전은 8 입니다 시작은 레드햇 리눅스부터 시작하여 페도리 리눅스를 기반으로 RHEL은 배포되었습니다. 레드햇 엔터프라이즈 리눅스(Red Hat Enterprise Linux)는 레드햇이 개발한 기업용 서버에 특화된 엔터프라이즈 리눅스…

MySQL NOW()와 SYSDATE()의 차이

MySQL 에서는 현재 시각을 조회하는 함수로 NOW() 와 SYSDATE 함수가 있으며 현재의 시간을 반환하는 같은 기능을 수행합니다 SELECT NOW();SELECT SYSDATE(); 다만 2개의 시간 조회 함수는 사용하기에 따라 시간 다른 결과와 다른 성능적 요건이 발생되게 됩니다 1. 시간 결과 차이 먼저…

MySQL Delete 문 성능 - IN절에서 서브쿼리 사용시 - Multiple Delete / CTAS

  1. MySQL 에서의 서브쿼리 MySQL 은 전통적으로 서브쿼리 최적화에 약한 면모를 보이고 있습니다 5.6 버전에서 개선되어( subquery materialization) 서브쿼리가 내부적으로 조인 형태로 변경되어 성능적 개선이 되었으나 상황에 따라서 서브쿼리는 DEPENDENT SUBQUERY 타입으로 실행되는 경우가 많습니다 그렇기 때문에 가급적 서브쿼리나 인라인…

MySQL Character Set 과 utf8mb4

1. MySQL Charset/Collation 먼저 character Set 은 문자와 Encoding의 집합 이고, Collation은 Character 간의 정렬을 의미 합니다. 1.1 사용 가능한 모든 character set - 8.0.22 버전 기준mysql> show character set;또는 mysql> SELECT * FROM INFORMATION_SCHEMA.CHARACTER_SETS; +----------+---------------------------------+---------------------+--------+ | Charset | Description…

MySQL 8.0.14 CHECK TABLE - Parallel Query Execution - CHECK TABLE 병렬 쿼리 수행

1. MySQL - Parallel QueryMySQL 에서는 예전부터 Native Parallel Query를 실행할 수 있는 기능이 추가되기를 많은 사람들은 희망 하였습니다 하지만 오랜 시간동안 기능이 반영되지는 못하였습니다. 아직까지 MySQL은 Parallel 쿼리 기능 지원이 부족하였고 그에 따라 다른 형태인 병렬 bash 스크립트 에서 Apache…

MySQL Hash Index

1. MySQL Hash Index Hash index 는 B-tree 만큼 일반적/범용적으로 사용되지는 않지만 고유의 기능과 특성을 가지고 있는 인덱스 오브젝트 입니다. Hash index 는 동등(equal =) 비교 검색시 사용 및 최적화 되어 있으며 범위나 FullText Search 나 정렬된 결과를 가져오는 목적으로는 사용할…