Day 47 · 3/5
🌿 중급 DB

데이터베이스 함수가 뭔가요?

쉽게 이해하기

엑셀의 SUM이나 AVERAGE 같은 함수를 직접 만드는 것과 같습니다. 복잡한 계산 공식을 한 번 만들어두면, 나중에 이름만 불러서 반복해서 사용할 수 있어요. 데이터베이스 함수도 자주 쓰는 쿼리 로직을 저장해두고 편하게 재사용하는 기능입니다.

핵심 정리

데이터베이스에 저장된 재사용 가능한 SQL 코드 블록으로, 복잡한 로직을 캡슐화합니다.

자세히 알아보기

데이터베이스 함수(Stored Function)는 SQL 쿼리와 프로그래밍 로직을 결합한 재사용 가능한 코드 블록으로, 데이터베이스 서버에 저장되어 필요할 때마다 호출할 수 있습니다. 입력값(매개변수)을 받아서 처리한 후 결과를 반환하는 구조로, 일반 프로그래밍 언어의 함수와 유사하지만 데이터베이스 내에서 직접 실행됩니다. 실무에서는 복잡한 비즈니스 로직을 데이터베이스 레벨에서 처리할 때 유용합니다. 예를 들어 '회원 등급을 계산하는 함수'를 만들면, 구매 금액과 가입 기간 등을 고려해서 자동으로 등급을 반환해줍니다. 이 함수를 여러 쿼리에서 재사용할 수 있어 코드 중복을 줄이고 일관성을 유지할 수 있습니다. 또한 복잡한 계산을 데이터베이스 서버에서 처리하므로 네트워크 통신을 줄여 성능을 향상시킬 수 있습니다. 하지만 데이터베이스 함수는 신중하게 사용해야 합니다. 과도하게 사용하면 비즈니스 로직이 애플리케이션 코드와 데이터베이스에 분산되어 유지보수가 어려워질 수 있습니다. 또한 데이터베이스별로 문법이 다르기 때문에 데이터베이스를 변경할 때 마이그레이션이 복잡해질 수 있습니다. 일반적으로 순수한 데이터 처리 로직은 함수로, 복잡한 비즈니스 규칙은 애플리케이션 코드로 분리하는 것이 좋습니다.