MySQL 93

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

파일로 저장되어 있는 데이터를 테이블로 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 InnoDB 스토리지 엔진 특성

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

MySQL, MariaDB 2015.07.27

SQL Server에서 MySQL 링크드서버 연결하기

SQL Server에서 MySQL 링크드서버 연결하기 Version : SQL 2005, 2008, 2008R2, 2012, 2014, Mariadb 5.5.4.2-WinX64 SQL Server에서 MySQL/MariaDB로 Linked Server 연결하는 방법에 대해서 알아본다. 링크드서버를 생성에 필요한 MySQL에 연결할 수 있도록 드라이버를 다운받아 설치 한다. 드라이버 다운로드 : https://dev.mysql.com/downloads/connector/odbc/ 다운로드 받은 파일을 설치 한다. 드라이버 설치가 완료되면 윈도우 [서버 관리자]에서 ODBC [데이터 원본]을 실행 한다. ODBC 데이터 원본 관리자에서 [시스템 DSN]탭을 선택하고 [추가]버튼을 클릭한다 [새 데이터 원본 ..

MySQL/MariaDB 아키텍처 – 쿼리 캐시(Query Cache)

MySQL/MariaDB 아키텍처 – 쿼리 캐시(Query Cache) Version : Mariadb 5.5.4.2-WinX64 MySQL / MariaDB 쿼리 캐시(Query Cache)는 타 DBMS에는 없는 기능을 적절히 설정만 잘한다면 상당한 성능 향상 효과를 얻을 수 있다. 쿼리 캐시는 SQL문장을 캐시하는 것이 아니라 쿼리의 결과를 메모리에 캐시해 두는 기능이다. 쿼리 캐시의 구조는 간단한 키와 값의 쌍으로 관리되는 맵과 같은 데이터 구조로 구현돼 있다. 쿼리 캐시에서 데이터를 내보내기 전에 다음과 같은 과정이 필요하다. 쿼리 캐시는 MySQL의 어떠한 처리보다 앞 단에 위치하며 캐시된 결과를 찾기 위해 쿼리 문장을 분석해서 복잡한 비교 과정을 거치는 것이 아니기 때문에 아주 간단하고 빠르..

MySQL, MariaDB 2015.07.22

MySQL/MariaDB 아키텍처 – 쿼리 실행 구조

MySQL/MariaDB 아키텍처 – 쿼리 실행 구조 Version : Mariadb 5.5.4.2-WinX64 MySQL / MariaDB 쿼리 실행 구조에 대해서 알아본다. 쿼리 실행 구조는 타 DB와 거의 동일하다. [쿼리 실행 순서] 클라이언트는 서버로 SQL 문을 전송 한다. 서버는 쿼리 캐시를 확인하여 캐시에 저장된 데이터가 있다면 저장된 결과를 반환한다. 그렇지 않으면 다음 단계로 통과 시킨다. 서버는 구분 분석 및 전처리기에서 쿼리에 구조적 문제가 없는지 확인하고 옵티마이저는 SQL 쿼리를 최적화 한다. 쿼리 실행 엔진은 스토리지 엔진 API를 호출하여 계획을 실행 한다. 서버는 클라이언트에게 결과를 반환한다. [Parser] 파서는 사용자 요청으로 들어온 쿼리 문장을 토큰(SQL엔진이 인..

MySQL, MariaDB 2015.07.16