728x90
반응형

MySQL 16

이것은MySQL이다 - 전체 텍스트 검색과 파티션

전체 텍스트 검색 전체 텍스트 검색 개요전체 텍스트 검색긴 문자로 구성된 구조화 되지 않은 텍스트 데이터(예로, 신문 기사) 등을 빠르게 검색하기 위한 부가적인 MySQL의 기능저장된 텍스트의 키워드 기반의 쿼리를 위해서 빠른 인덱싱 가능 전체 텍스트 검색신문 기사 검색교통’을 키워드로 가진 기사 검색 키워드가 중간에 들어간 경우 인덱스 사용 불가, 서버에 엄청난 부하 발생 전체 텍스트 인덱스전체 텍스트 인덱스(FULLTEXT Index) 생성텍스트로 이루어진 문자열 데이터의 내용으로 생성한 인덱스텍스트 인덱스 생성 형식 텍스트 인덱스 생성 형식 전체 텍스트 인덱스의 특징InnoDB와 MyISAM 테이블만 지원char, varchar, text의 열에만 생성 가능인덱스 힌트 사용 일부 제한여러 개 ..

DB/SQL 2023.02.10

이것이MySQL이다 - 03) 스토어드 프로그램

트리거 트리거(Trigger)의 개요트리거란?사전적 의미로 ‘방아쇠’방아쇠 당기면 ‘자동’으로 총알이 나가듯이 테이블에 무슨 일이 일어나면 ‘자동’으로 실행제약 조건과 더불어 데이터 무결성을 위해 MySQL에서 사용할 수 있는 기능테이블에 DML문(Insert, Update, Delete 등) 이벤트가 발생될 때 작동테이블에 부착되는 프로그램 코드직접 실행 불가테이블에 이벤트 일어나야 자동 실행IN, OUT 매개 변수를 사용할 수 없음MySQL은 View에 트리거 부착 불가 트리거 실습testDB에 테이블 생성-- 트리거 : 테이블에 DML(i, u, d)문이 실행 될때 자동으로 SQL문을 실행create database if not exists testDB;use testdb;create table ..

DB/SQL 2023.02.10

이것이MySQL이다 - 02) 스토어드 프로그램

스토어드 함수 스토어드 함수 (Stored Function)사용자가 직접 만들어서 사용하는 함수스토어드 프로시저와 유사형태와 사용 용도에 있어 차이 있음스토어드 함수의 개요 스토어드 함수와 스토어드 프로시저의 차이점스토어드 함수파라미터에 IN, OUT 등을 사용할 수 없음모두 입력 파라미터로 사용RETURNS문으로 반환할 값의 데이터 형식 지정본문 안에서는 RETURN문으로 하나의 값 반환SELECT 문장 안에서 호출함수 안에서 집합 결과 반환하는 SELECT 사용 불가SELECT… INTO… 는 집합 결과 반환하는 것이 아니므로 예외적으로 스토어드 함수에서 사용 가능어떤 계산 통해서 하나의 값 반환하는데 주로 사용 스토어드 프로시저파라미터에 IN, OUT 등을 사용 가능별도의 반환하는 구문이 없음필요..

DB/SQL 2023.02.10

이것이MySQL이다 - 01) 스토어드 프로그램

스토어드 프로시저 스토어드 프로시저의 개요스토어드 프로시저(Stored Procedure, 저장 프로시저)MySQL에서 제공되는 프로그래밍 기능쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용쿼리 모듈화필요할 때마다 호출만 하면 훨씬 편리하게 MySQL 운영CALL 프로시저_이름( ) 으로 호출 기본 형식 스토어드 프로시저 생성 예 스토어드 프로시저의 수정과 삭제수정 : ALTER PROCEDURE삭제 : DROP PROCEDURE매개 변수의 사용입력 매개 변수를 지정하는 형식입력 매개 변수가 있는 스토어드 프로시저 실행 방법 매개 변수의 사용출력 매개 변수 지정 방법출력 매개 변수에 값 대입하기 위해 주로 SELECT… INTO문 사용출력 매개 변수가 있는 스토어드 프로시저..

DB/SQL 2023.02.10

이것이MySQL이다 - 02) 인덱스

인덱스 생성/변경/삭제 인덱스 생성인덱스 생성 문법 인덱스 제거인덱스 삭제 형식 간단히 인덱스 삭제하는 구문 인덱스의 성능 비교인덱스 없는 경우, 클러스터형 인덱스, 보조 인덱스를 설정하여 쿼리 속도 비교, 서버 부하 비교실습할 데이터베이스 만듬CREATE DATABASE IF NOT EXISTS indexdb;employees의 employees의 개수를 파악USE indexdb;SELECT COUNT(*) FROM employees.employees;테이블 3개로 복사CREATE TABLE emp SELECT * FROM employees.employees ORDER BY RAND();CREATE TABLE emp_c SELECT * FROM employees.employees ORDER B..

DB/SQL 2023.02.09

이것이MySQL이다 - 01) 인덱스

인덱스의 개념 인덱스(Index)란?책의 찾아보기>의 개념과 비슷데이터를 좀 더 빠르게 찾을 수 있도록 해주는 도구 인덱스의 장단점장점검색 속도가 무척 빨라질 수 있음 (항상 그런 것은 아님)쿼리의 부하가 줄어들어 시스템 전체의 성능 향상 단점인덱스가 데이터베이스 공간을 차지해서 추가적인 공간 필요대략 데이터베이스 크기의 10% 정도의 추가 공간 필요처음 인덱스 생성하는데 시간 소요데이터의 변경 작업 (Insert, Update, Delete)이 자주 일어나는 경우 성능이 나빠질 수도 있음 인덱스의 종류와 자동 생성 인덱스의 종류클러스터형 인덱스 (Clustered Index)‘영어 사전’과 같은 책테이블 당 한 개만 지정 가능행 데이터를 인덱스로 지정한 열에 맞춰 자동 정렬 보조 인덱스 (S..

DB/SQL 2023.02.09

이것이MySQL이다 - 02) 테이블과 뷰

테이블 테이블 압축압축 기능은 대용량 테이블의 공간 절약하는 효과MySQL 5.0부터 자체적으로 테이블 압축 기능 제공MySQL 8.0에서 내부적인 기능이 더욱 강화MySQL이 허용하는 최대 용량의 데이터도 오류 없이 압축 가능 테이블 압축예제 실습(P. 337~338) 테스트용 DB 생성 – 동일한 열을 지닌 간단한 두 테이블 생성하나는 열 뒤에 ROW_FORMAT=COMPRESSED문을 붙여서 압축되도록 설정 두 테이블에 데이터 30만 건 입력 쿼리 실행 결과 두 테이블 상태 확인SHOW TABLE STATUS FROM compressDB;실습한 DB 제거DROP DATABASE IF EXISTS compressDB; 임시 테이블 임시로 잠깐 사용되는 테이블 세션(Session) 내에서만 ..

DB/SQL 2023.02.08

이것이MySQL이다 - 01) 테이블과 뷰

테이블 테이블만들기 MySQL Workbench에서 테이블 생성Navigator – [Schemas] 클릭 – ‘tabledb’ 확장 – ‘Tables’ 마우스 오른쪽 버튼 – [Create Table] 선택 MySQL Workbench에서 테이블 생성usertbl 생성userID열을 기본 키(Primary Key)로 설정 MySQL Workbench에서 테이블 생성buytbl 생성num열을 기본 키(Primary Key)로 설정 테이블 만들기 MySQL Workbench에서 테이블 생성buytbl 생성num열에 AUTO_INCREMENT, FOREIGN KEY 추가 MySQL Workbench에서 데이터 입력Navigator에서 usertbl 선택 – 마우스 오른쪽 버튼 클릭 – [S..

DB/SQL 2023.02.08

이것이MySQL이다 - 02) SQL 고급

조인 조인(Join)조인 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것종류 : INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN 데이터베이스의 테이블중복과 공간 낭비를 피하고 데이터의 무결성을 위해서 여러 개의 테이블로 분리하여 저장분리된 테이블들은 서로 관계(Relation)를 가짐1대 다 관계 보편적 INNER JOIN(내부 조인)조인 중에서 가장 많이 사용되는 조인 대개의 업무에서 조인은 INNER JOIN 사용일반적으로 JOIN이라고 얘기하는 것이 이 INNER JOIN 지칭사용 형식JOIN만 써도 INNER JOIN으로 인식함 조인 중에서 가장 많이 사용되는 조인 조인 중에서 가장 많이 사용되는 조인 OUTER JOIN(외부 ..

DB/SQL 2023.02.07

이것이MySQL이다 - 01) SQL 고급

MySQL의 데이터 형 MySQL에서 지원하는 데이터 형식의 종류Data Type으로 표현데이터 형식, 데이터형, 자료형, 데이터 타입등 다양하게 불림데이터 형식에 대한 이해가 필요한 이유SELECT문 더욱 잘 활용테이블의 생성 효율적으로 하기 위해 필요MySQL에서 데이터 형식의 종류는 30개 정도중요하고 자주 쓰는 형식에 대해 중점 학습 MySQL에서 지원하는 데이터 형식의 종류숫자 데이터 형식 문자 데이터 형식 날짜와 시간 데이터 형식 기타 데이터 형식 LONGTEXT, LONGBLOBLOB(Large Object, 대량의 데이터)을 저장하기 위해 LONGTEXT, LONGBLOB 데이터 형식 지원지원되는 데이터 크기는 약 4GB의 파일을 하나의 데이터로 저장 가능LONGTEXTex..

DB/SQL 2023.02.06

이것이MySQL이다 - SQL 기본

SELECT문 원하는 데이터를 가져와 주는 기본적인 구문가장 많이 사용되는 구문데이터베이스 내 테이블에서 원하는 정보 추출하는 명령 USE 구문SELECT문 학습 위해 사용할 데이터베이스 지정지정해 놓은 후 특별히 다시 USE문 사용하거나 다른 DB를 사용하겠다고 명시하지 않는 이상 모든 SQL문은 지정 DB에서 수행 employees를 사용하기 위해서는 쿼리 창에 다음과 같이 입력한다. Workbench 에서 직접 선택해서 사용도 가능[Navigator]의 [Schemas] 탭, employees 데이터베이스를 더블 클릭하거나 마우스 오른쪽 버튼을 클릭한 후 [Set as Default Schema]를 선택진한 글자로 전환, 왼쪽 아래‘Active schema changed to employe..

DB/SQL 2023.02.03

이것이MySQL이다 - 02) MySQL 유틸리티 사용법

◦[INSTANCE] 부분⁃[Server Logs]•서버에 기록된 오류, 경고, 방화벽 등의 로그 확인⁃[Options File]•MySQL의 핵심 설정 파일인 my.ini 파일파일 설정 내용을 GUI 모드로 보여줌 ◦[PERFORMANCE] 부분⁃[Dashboard]•네트워크, MySQL 서버, InnoDB의 상태를 그래픽으로 보여줌 ◦[PERFORMANCE] 부분⁃[Performance Reports]•입출력이 오래 걸린 파일, 비용이 많이 든 쿼리문, 데이터베이스 통계 등의 항목들 조회•결과 내보내기 가능⁃[Performance Schema Setup]•성능에 대한 설정•오른쪽 위 나 클릭하면 세부적인 설정 확인 가능 쿼리 창 (Query Editor)◦쿼리 문장(SQL 구문)을 입력/실..

DB/SQL 2023.02.02

이것이MySQL이다 - 01) MySQL 유틸리티 사용법

MySQL Workbench 사용 방법 MySQL Workbench의 발전과정◦2002년에 만들어진 DBDesigner4 제품⁃MySQL의 비주얼 툴로 사용 ◦2003년에 MySQL GUI Tools Bundle로 통합⁃2005년에 MySQL Workbench 프리뷰버전으로 변경되어 발표⁃2007년부터 본격적으로 개발되고 버전이 업그레이드 ◦MySQL 5.0 버전부터 본격적으로 MySQL의 GUI 툴로 제공⁃Workbench 5.0 버전은 Windows용으로만 제공⁃5.1 버전에서 다른 운영체제도 지원2018년에 8.0 버전 발표 Workbench의 주요한 기능◦데이터베이스 연결 기능◦인스턴스 관리◦위저드를 이용한 MySQL의 동작◦통합된 기능의 SQL 편집기◦데이터베이스 모델링 기능◦포워드/리버스..

DB/SQL 2023.02.02

이것이MySQL이다 - 데이터베이스 모델링

프로젝트의 진행 단계 프로젝트 (Project)현실세계의 업무를 컴퓨터 시스템으로 옮겨놓는 일련의 과정대규모의 프로그램을 작성하기 위한 전체 과정ex) 집 짓기의 경우 : 초가집 -> 목조건물 -> 수 십층 이상의 건물분석과 설계 작업 등한시 -> ‘소프트웨어 개발 방법론’의 대두 폭포수 모델 (Waterfall Model) 폭포수 모델 (Waterfall Model)가장 오래되고 전통적으로 사용되는 소프트웨어 개발 모델폭포가 떨어지듯이 각 단계가 끝나면 다음 단계로 진행장점각 단계가 명확히 구분되어 프로젝트의 진행 단계가 명확해짐단점문제점이 발생될 경우 다시 앞 단계로 거슬러 올라가기가 어려움문제점이 대부분 프로그램 구현 단계나 테스트 단계에서 발생대부분의 문제점을 업무 분석단계에서 다시 시작하여..

DB/SQL 2023.02.02

이것이MySQL이다 - MySQL 전체 운영 실습

요구사항 분석과 시스템 설계 그리고 모델링 정보시스템 구축 절차 요약 분석, 설계, 구현, 시험, 유지보수의 5가지 단계분석구현하고자 하는 프로젝트의 가장 첫 번째 단계시스템 분석 또는 요구사항 분석이라고 불림요구사항 분석은 현재 우리가 ‘무엇을(What)’ 할 것인지 결정사용자의 인터뷰와 업무 조사 등을 수행프로젝트의 첫 단추를 끼우는 중요한 단계분석의 결과로 많은 문서 작성설계시스템 설계 또는 프로그램 설계구축하고자 하는 시스템을 ‘어떻게(How)’ 할 것인지 결정대부분의 프로젝트에서 분석과 설계의 과정이 전체 공정의 50% 이상 차지 데이터베이스 모델링과 필수 용어데이터베이스 모델링현실세계에서 사용되는 데이터를 MySQL에 어떻게 옮겨 놓을 것인지를 결정하는 과정저장할 정보는 테이블(Table)이..

DB/SQL 2023.02.02
728x90
반응형