CS

CS/DataBase

[DataBase] 인덱스 (Index)

이번 포스팅에서는 데이터베이스에서 성능적인 측면에서 중요한 부분인 인덱스(Index)에 대해 알아보도록 하겠습니다. 평소 인덱스란 무엇인지 알고는 있었지만 정확한 개념을 이해하고 정리하기 위해 포스팅을 작성하게 되었습니다. 인덱스 (Index) 인덱스는 추가적인 쓰기 작업과 저장 공간을 활용해 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다. 책에서 원하는 내용을 찾을 때, 모든 페이지를 찾아 보는것은 오랜 시간이 필요하겠죠 ? 그렇기 때문에 책의 저자들은 책의 맨 앞 또는 맨 뒤에 색인을 추가하는데 데이터베이스의 index는 책의 색인과 같다고 할 수 있습니다. 데이터베이스 역시, 책과 마찬가지로 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한..

CS/DataBase

[DataBase] 트리거 (Trigger)

이번 포스팅에서는 트리거에 대해 살펴보도록 하겠습니다. 트리거 (Trigger) 특정 조건이 만족하면 저절로 실행되는 일종의 장치라고 볼 수 있어요. 프로시저나 펑션과 다르게 한번 설정하면 동작을 항상 감시하고 있다가 조건에 해당하는 동작이 수행되면 순간 실행되는 특징을 가지고 있습니다. [ 기본 구조 ] DELIMITER $$ CREATE TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE | DELETE } ON table_name FOR EACH ROW BEGIN -- 트리거 내용 END DELIMITER ; [ 종류 ] 행 트리거 : 테이블 행 각각 실행된다. 문장 트리거 : INSERT, DELETE, UPDATE 문에 대해서 한번만 실행된다. [ ..

CS/DataBase

[DataBase] 스토어드 함수 (Stored Function)

지난 포스팅에서 스토어드 프로시저(Stored Procedure)에 대해 살펴보았는데요, 이번 포스팅에서는 스토어드 함수(Stored Function)에 대해 알아보도록 하겠습니다. 스토어드 함수 (Stored Function) MySQL이 사용자가 원하는 함수를 전부 제공하지 않기 때문에, 필요에 따라 직접 만들어서 사용하는 함수를 스토어드 함수라고 합니다. [ 선언 방법 ] DELIMITER $$ CREATE FUNCTION function_name(parameter) RETURNS 반환타입 BEGIN statements END $$ DELIMITER; [ 호출 방법 ] SELECT function_name(); [ 삭제 방법 ] DROP FUNCTION function_name; 여기까지만 살펴보면..

CS/DataBase

[DataBase] 스토어드 프로시저 (Stored Procedure)

이번 포스팅에서는 스토어드 프로시저(Stored Procedure)에 관해 알아보도록 하겠습니다. Stored Procedure ? 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합 프로그래밍 언어의 함수처럼 인자를 넘기는 것이 가능 (IN, OUT, INOUT) 리턴되는 값은 레코드들의 집합 간단한 분기문(if, case)과 루프(loop)를 통한 프로그래밍이 가능 디버깅이 힘들고 서버단의 부하를 증가시킨다는 단점이 존재 [ 정의 문법 ] DELIMITER // CREATE PROCEDURE procedure_name(parameter1, ...) BEGIN statements END // DELIMITER [ 호출 문법 ] CALL stored_procedure_name(arguments..

엥재
'CS' 카테고리의 글 목록