mysql(4)
-
[MySQL] MySQL의 Query Cache에 대해서
개요 MySQL 내부에도 일부 성능 향상을 위해서 cache를 내부적으로 사용하고 있다. 크게 Query Cache와 Buffer Pool Cache를 사용하고 있으며 이 중에서 Query Cache에 대해서 알아보도록 하자. 해당 Query Cache는 MySQL 5.7.20에 Deprecated 되었고, 8.0에서 제거되었는데, 그 이유에 대해서도 알아보자. 본문에 대한 내용은 InnoDB의 Cache를 다루고 있고, 일부 사용하는 DBMS에 따라 달라질 수 있다. Query Cache Query Cache란? (해당 Query Cache는 MySQL 5.7.20에 Deprecated 되었다.) Query Cache는 말 그대로 쿼리의 결과를 저장하여 그 즉시 반환한다. 이에 따라 index를 사용하..
2022.09.12 -
MySQL에서 접속 중인 session 정보를 확인해보자
개요 MySQL에서 접속 중인 session 정보들을 확인해보자. Connection monitoring MySQL에서는 현재 잡혀있는 session에 대한 모니터링 테이블이 존재한다. 문제가 되는 session들을 찾아내거나 kill할 필요가 있을 때, 참조하면 좋다. SHOW PROCESSLIST; 현재 실행 중인 process list들을 확인할 수 있다. show full processlists; show processlist; 확인할 수 있는 field들은 아래와 같다. id: session id user: 접속한 계정의 id host: host + port db: 접속한 db command: thread가 현재 실행 중인 명령, Sleep의 경우는 idle 상태를 의미하며, 자세한 내용은 Th..
2021.02.07 -
MySQL partition이란
1. 개요 MySQL에서 Partition 적용 방법에 대해서 다루려고 한다. 2. 환경 - InnoDB - MySQL 8.x - Docker environment 3. Partition이란? table 하나를 물리적으로 나누어서 사용하는 방식이다. 물리적으로 하나의 테이블에 있는 row들을 분할함으로써 각각의 index size를 줄이기 때문에, 특정 partition에 접근하는 select나 insert등의 성능이 좋아지게 된다. type은 아래와 같다. range row 단위로 ~N 의 범위를 잘라서 사용하는 방식이다. 주로 timestamp를 나누어서 사용하거나 id 기반으로 나눌 때 사용한다. list IN query와 유사하게 값에 따라서 나누어서 사용하는 방식이다. 예제에서는 지역 정보를 통..
2020.12.20 -
Nest.js 탐험 2 - API 작성해보기
1. 개요 이전 글 malgogi-developer.tistory.com/2에서는 Nest.js 개발 환경 설정 및 개략적인 구조를 살펴 보았다. 이번 글에서는 Nest.js를 통해서 실제로 API를 작성해보려고 한다. 로컬에 Mysql을 Docker로 셋업해서 진행해보도록 하자. 2. Docker 환경 셋업 및 Mysql 띄우기 Docker는 컨테이너 기반의 가상화 환경을 제공한다. Docker를 이용하게 될 경우 쉽게 개발환경 셋팅 또는 리얼 환경을 구축할 수 있게 도와준다. docs.docker.com/get-docker/ 아래의 사이트에서 로컬에 Docker를 설치해주도록 한다. 그리고 docker-compose도 설치해주도록 한다. docs.docker.com/compose/install/ do..
2020.12.13