지난 포스팅에서 스토어드 프로시저(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; 여기까지만 살펴보면..
이번 포스팅에서는 스토어드 프로시저(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..
0. Overview MySQL의 문자열데이터 타입 중 자주 사용하는 VARCHAR와 이와 비슷한 TEXT 가 있죠 ? 기존의 VARCHAR는 255byte만 지원하다가 MySQL5.0.3 이후로 VARCHAR와 TEXT 타입 모두 최대 65,535byte 길이를 지원하게 되었습니다. VARCHAR와 TEXT는 모두 문자열을 저장하기 위한 데이터 타입이며, 그렇다면 이 둘의 차이는 무엇일까? 라는 생각이 들었고 이를 알고자 글을 작성하게 되었습니다. 1. 저장 용량 VARCHAR의 저장 구조 VARCHAR는 최대 65,535byte까지 저장이 가능하며, 현재 저장된 byte의 크기 + 길이를 표현하는 byte로 구성됩니다. - 255byte 이하의 데이터 저장 : 길이 접두사로 1byte를 사용하고 실제..
0. Overview 해당 포스팅은 "가상 면접 사례로 배우는 대규모 시스템 설계 기초"라는 도서를 읽고 이를 정리하고자 작성하는 포스팅입니다. 이번 챕터에서는 한 명의 사용자를 지원하는 시스템에서 시작하여, 최종적으로 수백만 사용자를 지원하는 시스템을 설계하고 규모 확장성에 대한 이해를 높여보자. 1. 단일 서버 모든 컴포넌트가 단 한대의 서버에서 실행되는 시스템 웹 앱, 데이터베이스, 캐시 등이 전부 서버 한대에서 실행되는 구조 1. 사용자가 도메인 이름(api.mysite.com)을 이용해 웹 사이트 접속 2. DNS(Domain Name Service)를 통해 도메인 이름을 IP 주소로 변환되는 요청 발생 3. DNS 결과로 IP 주소 반환 4. 해당 IP 주소로 HTTP 요청 전달 5. 요청 받..