MySQL, MariaDB 96

MySQL/MariaDB Cluster Index

MySQL/MariaDB Cluster Index · Version : MySQL / MariaDB 인덱스에서 클러스터링은 값이 비슷한 것을 묶어서 저장하는 형태로 구현된다. 이 방법은 주로 비슷한 값들을 동시에 조회하는 경우가 많다는 점에 착안한 것이다. MySQL에서는 InnoDB 스토리지엔진에서 클러스터링 인덱스를 지원한다. (인덱스는 MySQL엔진이 아닌 스토리지 엔진이 담당한다) 클러스터링 인덱스(키 클러스터)는 테이블의Primary key(이하 PK로 표시)에 대해서만 적용되는 내용이다. 즉 PK 값이 비슷한 레코드끼리 묶어서 저장하는 것을 클러스터링 인덱스라고 표현한다. 중요한 포인트는 PK 값에 따라 레코드의 저장 위치가 변경되는데 이 뜻한 해당 레코드의 물리적인 저장 위치가 바뀌어야 한다..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB 테이블의 Row count 구하기

MySQL/MariaDB 테이블의 Row count 구하기 · Version : MySQL 5.6 MySQL / MariaDB 에서 테이블의 Row count를 구하는 방법에 대해서 알아본다. 기본적으로 단일 테이블에 대한 Row count는 아래 스크립트로 간단히 확인할 수 있다. SELECT COUNT(*) FROM table_name; 특정 데이터베이스에 대해 모든 테이블의 Row count를 구하는 경우 아래 스크립트를 사용할 수 있다. 조회하려는 데이터베이스의 테이블 정보를 참조하여 Row count 스크립트르 생성하여 호출하는 방식이다. SELECT CONCAT(GROUP_CONCAT(CONCAT('SELECT \'',table_name,'\' table_name, COUNT(*) rows F..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB InnoDB Storage Engine (Data Page)

MySQL/MariaDB InnoDB Storage Engine (Data Page) · Version : MySQL 5.5, 5.6, 5.7 MySQL / MariaDB 에서 사용하는 InnoDB 스토리지 엔진은 레코드 기반의 잠금을 제공하기 때문에 높은 동시성 처리가 가능하고 안정적이며 성능이 뛰어나다. InnoDB의 구조는 크게 메모리 영역과 CPU 연산 영역, 디스크 스토리지 영역으로 구분할 수 있다. 메모리 영역에는 버퍼풀과 로그 버퍼가 있으며 CPU 연산에는 인서트 버퍼 머지 스레드, Write 스레드, 로그 스레드, 그외 기타 스레드가 있다. 디스크 영역에는 시스템 테이블 스페이스와 사용자 테이블 스페이스, 리두로그가 존재한다. · MySQL/MariaDB InnoDB 스토리지 엔진 특성 :..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB 데이터를 CSV로 내보내기

MySQL/MariaDB 데이터를 CSV로 내보내기 · Version : MySQL 5.7 MySQL / MariaDB에 저장되어 있는 데이터를 CSV 파일로 저장하는 방법에 대해서 알아본다. - 파일로 저장되어 있는 데이터를 MySQL/MariaDB테이블로 Bulk Insert 하기 : http://sqlmvp.kr/220574644101 실습에 사용할 데이터베이스 및 테이블을 생성하고 데이터를 입력 한다. create database sw_test use sw_test; create table tbl_a (name varchar(10)) insert into tbl_a values ('sqlmvp1'); insert into tbl_a values ('sqlmvp1'); insert into tbl_..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB Table Update Safe 모드

MySQL/MariaDB Table Update Safe 모드 · Version : MySQL 5.7 MySQL / MariaDB 에서 테이블에 safe update 모드가 설정되어 있는 경우 update 또는 delete 작업 시 key 컬럼에 대한 where 조건이 없으면 아래와 같은 오류가 반환되며, 업데이트를 할 수 없다. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. safe upd..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB max_connection 개수와 성능

MySQL/MariaDB max_connection 개수와 성능 · Version : MySQL 5.7 MySQL / MariaDB 에서 mysqld 서버에 연결하려고 할때, Too many connections 오류가 발생하면 사용 가능한 모든 연결이 다른 클라이언트에 의해 사용중임을 의미한다. 만약Too many connections 와 같은 커넥션 오류가 발생한다면 시스템 변수를 수정하여 커넥션 개수를 늘릴 수 있다. 아래 스크립트로 즉시 늘릴 수 있다. set global max_connections = 200; 현재 연결되어 있는 연결수는 아래 스크립트로 확인 할 수 있다. show status like 'threads_connected'; max_connections 값에 대한 고정된 규칙은 ..

MySQL, MariaDB 2019.03.24

MySQL/MariaDB 사용자 생성

MySQL/MariaDB 사용자 생성 · Version : MySQL 5.6 MySQL / MariaDB 에서 데이터베이스 사용자 등록에 대해서 알아본다. 아래 스크립트는 현재 등록된 사용자를 확인할 수 있다. use mysql; select * from user; 새로운 사용자(실습에서는 sqlmvp 라는 사용자 생성) 등록을 하기 위해서는아래 스크립트를 실행 한다. 그리고 Grant 명령어로 접근 권한을 설정한다. create user 'sqlmvp'@'localhost' IDENTIFIED BY 'password1234'; grant all on *.* to 'sqlmvp'@'localhost'; 만약 특정 IP가 아닌 어디서든 접속 가능하게 하려면 % 옵션을 사용하여 사용자 권한을 부여 할 수 있..

MySQL, MariaDB 2019.03.24

파일로 저장되어 있는 데이터를 테이블로 Bulk Insert 하기

파일로 저장되어 있는 데이터를 테이블로 Bulk Insert 하기 Version : Mariadb 5.5.4.2-WinX64 MySQL / MariaDB에서 파일로 저장되어 있는 데이터를 Bulk Insert를 사용하여 빠르게 테이블로 저장하는 방법에 대해서 알아본다. Bulk Insret를 사용하기 위해서는 테이블 스키마와 데이터의 스키마가 동일해야한다. 기본적인 Bulk Insert 문법은 아래와 같다. LOAD DATA INFILE 'file_name' INTO TABLE table_name 실습을 통해 실제 데이터가 저장되어 있는 파일에서 MariaDB 테이블로 데이터를 Bulk Insert 하는 방법을 살펴본다. 현재 데이터가 저장되어 있는 파일은 C:\SQL_Data\BCPTest.txt 파일..

MySQL, MariaDB 2015.12.21

MySQL/MariaDB MyISAM 스토리지 엔진 특성

MySQL/MariaDB MyISAM 스토리지 엔진 특성 Version : Mariadb 5.5.4.2-WinX64 MyISAM은 ISAM(indexed Sequential Access Method)의 단점을 보완하기 위해 나온 업그레이드 버전으로 비-트랜잭션-세이프(non-transanctional-safe) 테이블을 관리 한다. [기본적인 특징] 데이터 저장에 제한이 없고 효율적이다. (속도가 빠른편이다.) B-Tree, R-Tree, Full-Text 인덱스를 지원 테이블 락 사용으로 읽기 성능은 좋으나 빈번한 쓰기가 빈번한 경우 부적합. 트랜잭션 미지원 MyISAMpack라는 압축 옵션 제공 MyISAM에는 InnoDB의 버퍼풀과 비슷한 역할을 하는 것이 키 캐시(Key cache, 키 버퍼라고도..

MySQL, MariaDB 2015.07.30

MySQL/MariaDB InnoDB 스토리지 엔진 특성

MySQL/MariaDB InnoDB 스토리지 엔진 특성 Version : Mariadb 5.5.4.2-WinX64 InnoDB 스토리지 엔진은 MySQL/MariaDB에서 레코드 기반의 잠금을 제공하고 있으며 때문에 높은 동시성 처리가 가능하고 안정적이며 성능이 뛰어나다. InnoDB의 구조는 크게 메모리 영역과 CPU 연산 영역, 디스크 스토리지 영역으로 구분할 수 있다. 메모리 영역에는 버퍼풀과 로그 버퍼가 있으며 CPU 연산에는 인서트 버퍼 머지 스레드, Write 스레드, 로그 스레드, 그외 기타 스레드가 있다. 디스크 영역에는 시스템 테이블 스페이스와 사용자 테이블 스페이스, 리두로그가 존재한다. [InnoDB 스토리지 엔진 특성] 프라이머리 키에 의한 클러스터링 : 모든 테이블은 기본적으로 ..

MySQL, MariaDB 2015.07.27