MySQL(4)
-
MySQL 전체 텍스트 검색
전체 텍스트 검색은 긴 문자의 텍스트 데이터를 빠르게 검색하기 위한 MySQL의 부가적인 기능이다. 전체 텍스트 검색을 사용하면 기사의 내용에 포함된 여러 단어들에 인덱스가 설정되어서 검색 시에 인덱스를 사용하여 검색 속도가 월등히 빨라진다. 전체 텍스트 인덱스는 신문기사와 같이 텍스트로 이루어진 문자열 데이터의 내용을 가지고 생성한 인덱스를 말한다. SELECT * FROM 신문기사_테이블 WHERE 신문기사내용 '교통 사고의 증가로 인해 오늘 ----'; SELECT * FROM 신문기사_테이블 WHERE 신문기사내용 LIKE '교통%'; 인덱스가 정렬되어 있으므로, 해당되는 내용이 인덱스를 통해서 빠르게 검색함. SELECT * FROM 신문기사_테이블 WHERE 신문기사내용 LIKE '%교통%';..
2020.03.19 -
MySQL 잠금기능
잠금(Locking)을 알기 위해선 그 전에 동시성 제어(Concurrency Control)를 먼저 짚고 넘어가야 한다. 동시성 제어는 다중 사용자 환경을 지원하는 데이터베이스 시스템에서 동시에 실행되는 여러 트랜잭션 간의 간섭으로 문제가 발생하지 않도록 트랜잭션의 실행 순서를 제어하는 기법이다. 한 트랜잭션을 실행하는 중에 다른 트랜잭션이 간섭하게 되면 갱신 분실(lost update), 연쇄 복귀(cascading rollback) 또는 회복 불가능(unrecoverability), 불일치 분석(inconsistent analysis) 등과 같은 문제들이 발생할 수 있다. 동시성 제어는 다시 비관적 동시성 제어 (Pessimistic concurrency Control)와 낙관적 동시성 제어(Opt..
2020.02.20 -
MySQL view(뷰)
뷰의 작동 방식은 다음과 같다. 뷰를 생성하여 SELECT문으로 데이터를 조회하면 테이블과 동일한 모양으로 확인할 수 있다. 뷰를 사용하는 이유는 다음과 같은 장점이 있기 때문이다. 보안에 도움이 된다: 위와 같은 뷰에는 사용자의 이름과 주소만 있을 뿐, 시용자의 중요한 개인정보인 출생년도, 연락처, 키, 가입일 등은 들어 있지 않다. 예를 들어 다른 사용자에게 무언가 작업을 맡겼을 때 연락처 등의 중요한 정보에는 접근하지 않고 이름과 주소 데이터만 가지고 작업하도록 할 때 뷰를 사용할 수 있다. 복잡한 쿼리를 단순화할 수 있다: 이렇게 줄도 길고 여러 조건이 들어간 쿼리를 자주 사용하게 될 경우 이 쿼리문을 뷰로 만들어 놓으면 편리하다. CREATE VIEW Statement ALTER VIEW Sta..
2020.02.17 -
MySQL SELECT문
select문에 들어가기 앞서... RDBMS에서는 데이터베이스 조작을 위해 SQL문을 명령어로 사용한다. SQL문을 세 가지로 분류할 수 있다. DML(Data Manipulation Language) •테이블의 행을 조작(선택, 삽입, 수정, 삭제) •트랜잭션 발생: 트랜잭션 제어어(TCL: Transaction Control Language): DML을 사용할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시킴 COMMIT/ ROLLBACK/ SAVEPOINT SELECT INSERT UPDATE DELETE DDL(Data Definition Language) •데이터베이스 개체를 조작(생성, 삭제, 변경) •트랜잭션이 없어서 실행 즉시 MySQL에 적용 CREATE ALTER DROP RE..
2020.02.10