본문 바로가기

Database/MySQL6

FCM토큰 저장 테이블 최적화 보호되어 있는 글 입니다. 2023. 4. 10.
프로젝트 쿼리 최적화 작업 보호되어 있는 글 입니다. 2023. 4. 6.
MySQL 초단위 precision 자릿수 넘어갈 경우 MySQL은 초단위 precision 자릿수 지정 SELECT COUNT(1) FROM mydate WHERE created_at BETWEEN '2022-05-27T00:00:00.000000' AND '2022-05-27T23:59:59.9999999'; 이렇게 조회하면 2022년 5월 28일 00시 00분 row가 DB에 들어가 있는 경우에, 나올 수 있다. 이유 해당 내용은 초단위 precision의 단위가 넘어갔을 때, 다음 시간을 표현하는 2022년 5월 28일 00시 00분이 포함되기 때문. ToDo 해당 내용은 조금 더 정리해보자 2022. 6. 3.
Mysql 날짜관련 data type, datetime과 timestamp 차이 datetime과 timestamp의 차이 timestamp mysql은 저장할 때 현재 타임존에서 UTC로 변환하고, 조회할 때 UTC에서 현재 시간대로 변환한다. 타임존 변경 작업시 부하가 발생할 수 있다. 하지만 요즘 트렌드는 timestamp를 사용하는 것이라고 한다. 그정도 부하는 허용 가능한가보다. 기본으로 각 연결의 타임존은 서버의 시간이고, 타임존은 connection별로 설정할 수 있다. Mysql에서 사용할 time zone 셋팅 방법은 여러가지이다. 시스템 변수의 time_zone 값을 사용할 수 있다. mysql서버 시작 시 --timezone 옵션 값을 줄 수 있다. 등 다른 방법도 있다. 1970-01-01 00:00:01부터 2038-01-19 03:14:07까지 지원 [확인].. 2022. 6. 2.
Mysql 스토리지엔진, InnoDB 와 MyISAM InnoDB 가 무엇이고, 다른 DB 엔진과 차이 알아보기 InnoDB란 무엇인가 Storage Engine : 데이터베이스에서 데이터를 접근하는 방식 frm 파일에 접근하는 속성을 설정 스토리지 엔진은 DB에서 데이터를 어떤 방식으로 저장하고 접근할 것인지에 대한 기능을 제공합니다. 스토리지 엔진에 따라 데이터 접근 속도, 안정적인지, 트랜잭션 기능을 제공하는지 등의 차이가 발생합니다. InnoDB란 무엇 스토리지 엔진의 한 종류 스토리지 엔진 스토리지 엔진은 데이터 읽기/쓰기 작업을 처리한다. 데이터를 디스크로 저장하고 읽어오는 역할 담당. 데이터를 디스크로 저장하고 읽어오는 역할을 담당하는 스토리지 엔진은, 데이터를 물리적 디스크에 저장하는 방식을 클러스터드 인덱스 방식과 넌 클러스터드 인덱스 방식.. 2022. 6. 1.
Mysql MMM이란 (Multi-Master Manager) Mysql MMM이란 MMM은 Multi Master Manager로 약자로, Mysql장애 시 자동으로 failover(대체 시스템 작동)를 해주는 솔루션이다. 오픈 소스 기반으로 Perl로 되어 있다. MMM왜 필요한가? Mysql서버를 Master-Slave로 이중화하여도 Master장애 발생 시 자동으로 Failover기능이 수행되지 않기 때문에 MMM을 도입하여 서비스 장애를 최소화함으로 DB가용성을 보장하게 한다. MMM의 구조 MMM Monitor : MMM Agent 서버의 상태를 체크하고 상태에 따라 역할(reader, writer)을 관리 MMM Agent : MMM 에서Master(active), Master(standby) 역할을 하는 구성원. Master DB서버 자체. MMM V.. 2021. 10. 6.