본문 바로가기

MySQL별책부록39

InnoDB 컬럼 저장 순서 갑자기 지인으로 부터 질문을 받고 궁금하여 테스트를 진행한다. "테이블을 생성할 때 멀티 컬럼으로 PK를 지정하는 경우에, PK 순과 컬럼 순이 다르게 정의 된다면 데이터는 어떻게 저장될까?" 이것이 지인의 질문이었다. 생각으로는 정의 순서와 상관없이 PK 순으로 저장될거라고 생각했다. 그것이 논리적으로 맞다고 생각했기 때문에....헌데 정말 그러한 것인지 궁금하여 직접 테스트를 해보기로 했다. 테이블은 다음과 같이 생성하였다. mysql> show create table tb; +-------+----------------------------------------------------------------------------------------------------------------------.. 2019. 2. 15.
MySQL Ver. 8.0 PERSIST SYSTEM VARIABLE 사용방법 MySQL 에서 이번에 새로 추가한 시스템 변수 속성인 Persist 시스템 변수에 대한 내용입니다. 2018. 11. 1.
MySQL Server bootstrapping and dictionary initialization http://mysqlserverteam.com/mysql-server-bootstrapping-and-dictionary-initialization/이 문서는 위 블로그의 내용을 번역하여 기재한 것입니다. MySQL Ver. 8.0부터 MySQL 내부의 data dictionary에 대한 관리 방법및 내용이 많이 변경되었다. 또한, 처음 설치 시 초기화 하는 방법도 변경되었다. 이 글에서는 각 버젼 벌로 설치 방법이 어떻게 변경되고, data dictionary 에서 관리되는 메타 데이터가 어떻게 관리되는지 그 방법에 대해 알아보도록 하자. MySQL 서버는 2가지의 다른 방법으로 실행할 수 있다. 1. 초기화를 위한 실행 : MySQL 서버가 Data Dictionary 가 없는 상태에서 새로운 Da.. 2016. 12. 2.
MySQL Ver. 5.7 Buffer Pool 상태 정보 저장하여 사용하기 MySQL은 서버를 재 시작 할때 시작하자 마자 계속 운영된 것처럼 Buffer Pool에 페이지 정보가 저장되어 사용할 수 있게 하는 시간을 줄이기 위해 자주 사용되는 페이지 정보를 저장하도록 기능이 추가되었다. 얼마나 자주 사용하는지 즉, 저장해야 할 정도로 사용량이 많은 페이지를 가늠하는 기준은 innodb_buffer_pool_dump_at_shutdown 파라메터를 통해 설정이 가능하다. 바쁘게 사용하는 서버를 재 시작 한 후에는 일반적으로 어느정도 시간이 흘러야 사용하는 대부분의 페이지들이 메모리에 올라와 빠르게 사용할 수 있는 상태가 된다. 사용하는 대부분의 페이지가 메모리에 로딩되어 빠르게 동작할 수 있는 상태가 되는 일련의 작업을 warmup 이라고 하고 그 기간을 warmup perio.. 2016. 7. 8.