[MySQL] 디스크 읽기방식
·
DB/MySQL
디스크 읽기 방식디스크 I/O의 오버헤드를 줄이는 것이 데이터베이스의 성능 튜닝의 중요 지점일 때가 많습니다.디스크 별로 어떻게 데이터를 읽는지에 대해서 알면 MySQL의 성능 이점이 어떻게 동작하는지 이해할 수 있습니다. 하드 디스크 드라이브(HDD)하드 디스크 드라이브는 아래와 같이 생겼습니다.여기서 보이는 헤드를 기반으로 플래터를 돌려가면서 디스크를 읽어서 데이터를 쓰고 지우는 작업을 수행합니다.헤더에 데이터가 쓰이는 부분을 맞춰야하기 때문에 디스크의 헤더가 움직여야하고 이러한 하드웨어적 동작 때문에 지연이 발생합니다. 솔리드 스테이트 드라이브(SSD)SSD는 하드 디스크에 존재하던 플래터를 제거하고 플래시 메모리를 적용하였습니다. 이로 인해 디스크 원판을 회전하는 동작이 없어져 HDD 비해 빠..
[MySQL] MySQL InnoDB의 인덱스 기반의 잠금
·
DB/MySQL
MySQL의 스토리지 엔진MySQL에는 여러 스토리지 엔진이 존재합니다. 예시로 MyISAM, Memory, InnoDB가 존재합니다.우리가 웹 개발에 자주사용하는 엔진은 InnoDB이며 실제로 MySQL의 기본 스토리지 엔진은 InnoDB로 구축되어있습니다.그래서 우리는 아래와 같이 테이블을 생성하더라도 자동으로 InnoDB로 구축해줍니다.CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100));물론 같은 데이터베이스 내에서 서로 다른 엔진을 가진 테이블을 구성할 수도 있습니다.-- InnoDB 엔진 사용CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100)) ENGINE=InnoD..
[MySQL] 날짜 및 시간 계산 함수 정리
·
DB/MySQL
MySQL 날짜 및 시간 계산 함수 정리DATE_ADD, DATE_SUB, DATEDIFF, TIMEDIFF, PERIOD_DIFF, TIMESTAMPDIFF, DATE_FORMAT 1. DATE_ADD – 날짜 또는 시간 더하기목적지정한 날짜에 일정 시간 간격을 더할 때 사용문법DATE_ADD(date, INTERVAL n UNIT)예시SELECT DATE_ADD('2024-01-01', INTERVAL 7 DAY); -- '2024-01-08'SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR); -- 현재 시간 + 1시간SELECT DATE_ADD(NOW(), INTERVAL -1 MONTH); -- 현재 시간 -1개월특징INTERVAL 단..
[MySQL] SQL 숫자 처리 함수 완벽 정리
·
DB/MySQL
SQL 숫자 처리 함수 완벽 정리FORMAT / ROUND / TRUNCATE 비교와 사용법 1. FORMAT – 숫자를 쉼표 포함한 문자열로 포맷목적숫자를 #,###.## 형식의 문자열로 변환하여 출력천 단위 쉼표(,) 자동 삽입, 지정한 소수 자릿수에서 반올림예시SELECT FORMAT(1234567.891, 2); -- 결과: '1,234,567.89'SELECT FORMAT(1234567, 4); -- 결과: '1,234,567.0000'특징반환 타입은 문자열 (VARCHAR)숫자 연산에는 부적합 (캐스팅 필요)반올림 처리가 자동 적용됨가독성을 위한 출력 전용 함수 2. ROUND – 소수점 반올림목적소수점 이하를 지정된 자리수에서 반올림문법ROUND(number, decimal..
[MySQL][MAC] brew services start mysql와 mysql.server start 차이
·
DB/MySQL
brew services start mysql와 mysql.server start는 MySQL을 시작하는 두 가지 다른 방법입니다. 이 둘 사이의 주요 차이점은 관리 방법과 사용되는 시스템 서비스 관리자에 있습니다. 각각에 대해 자세히 설명하겠습니다. brew services start mysql Homebrew 서비스를 사용: macOS에서 Homebrew 패키지 매니저를 통해 설치된 MySQL 인스턴스를 시작합니다. Homebrew는 macOS (또는 Linux)용 패키지 매니저로, 소프트웨어의 설치와 관리를 쉽게 해줍니다. 백그라운드에서 실행: brew services start mysql 명령은 MySQL을 백그라운드 서비스로 시작합니다. 이는 시스템 부팅 시 MySQL이 자동으로 시작되도록 설정..
[MySQL][MAC] MAC에서 MySQL 설치 방법
·
DB/MySQL
MySQL 설치 가이드 (macOS 기준)MySQL을 설치하는 과정을 간단하고 깔끔하게 정리했습니다. 아래 단계를 따라 설치를 완료하세요.1. 터미널 실행2. Homebrew 업데이트brew update만약 Homebrew가 오래된 경우 아래 명령어로 업그레이드합니다.brew upgrade3. MySQL 설치brew install mysql4. 설치 확인mysql --version정상적으로 설치되었다면, 다음과 유사한 메시지가 출력됩니다.mysql Ver X.X.X for macosXX.X on arm64 (Homebrew)본인의 운영체제와 MySQL 버전을 확인하세요.5. MySQL 서버 시작mysql.server start정상적으로 실행되면 아래와 같은 메시지가 출력됩니다.Starting MySQL...
[DB] 데이터베이스 관련 개념 - 01
·
DB/MySQL
DB관련 개념 데이터 (Data): 의미를 가지면서 기록될 수 있는 사실 데이터 베이스 (DataBase): 관련있는 데이터들의 모임 데이터베이스 관리 시스템 (DBMS, DataBase Management System): 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지, 직역 그대로 DataBase(데이터베이스) Management(관리) System(시스템)이다. 데이터베이스 시스템 (DataBase System):데이터베이스와 그를 관리하는 소프트웨어(DBMS,응용프로그램) 모두를 칭하는 용어 작은 세계(mini-world): 데이터베이스 구축의 대상이 되는 실세계의 일부분 데이터베이스 시스템 구조 크게 나누어서 데이터베이스 시스템은 데이터베이스, 데이터베이스 관리 시스템, 데이터 모델로 나..
개발자 성현
'DB/MySQL' 카테고리의 글 목록