mysql 내장 함수의 유용성에 관해

mysql 내장 함수의 유용성에 관해

QA

mysql 내장 함수의 유용성에 관해

본문

msyql 에서 제공되는 여러 변환함수들 ( 문자, 숫자, 날짜 ) 를 포함해

조건식 등 다양한 내장함수가 있는데요..

 

저는 그냥 table 에서 있는 자료를 순수하게 그대로 불러내서 

php 변수로 다루어서 변환하거든요

 

또 내장함수로 sql 쿼리상에서 변환할 경우 index 가 작동하지 않을 수도 있다 하니 더더욱

쓰지 말아야 겠다는 생각이 드는데요

 

사실 내장함수는 dba 가 아니라서 서버에 접근권한이 없는 비개발직군에게 유용한것 같고

개발자는 저 처럼 table 자료를 불러내서 php 변수로 다루어서 변환하는게 더 낫지 않나해서요

 

실무진, 고수 분들은 어떻게 하시고 계시나요?

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 3

적재적소에 사용해야한다고 생각합니다.

무조건적으로 어플리케이션에서 해야한다 혹은 디비에서 해야한다 라고 정의 하기보다는 집계, 통계 테이블 짤때는 db단에서 처리해주는게 좋은것 같습니다.

 

예를 들어 데이터가 백만개 들어있는데

데이터가 요청될때마다 100만개 불러와서 메모리에 100만개 할당하고 더하고 빼고 이러다보면 어느 세월에 저걸 처리하고 있냐 라는 말이 나오기도 하죠..

 

반면 웹 서비스의 로직이 쿼리안에서 처리된다면 유지보수 측면에서도 하자가 많을 것 같고.. 그런 이유에서 다 각각 활용처가 다른것 같습니다.

처음부터 Cross Platform (System / OS / DBMS) 을 고려하는 설계가 아닌

수명이 하나의 플랫폼에만 한정되는 어플리케이션 설계를 가지고 갈때는

별 고민없이 DBMS 내장함수를 사용 하게 됩니다.

다만 가급적 표준함수를 사용하고, 쿼리의 성능을 생각해 쿼리에서 함수를 사용할 위치는

SELECT 필드절에 사용을 지향하고 WHERE 절에는 지양합니다.

 

하지만 하나의 플랫폼 종속적인 성격이라 하더라도

어플리케이션 구성에 따라 서로 끈끈한 의존도를 낮춰 유연한 구조를 가져가고

DB 부담을 조금 더 최소화 하기위해

DBMS 함수 사용 대신 그 역할을 어플리케이션 단에 넘기는 방향을 지향합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 59,609
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT