[ Java ] vs [ SQL ]
DB에서 결과값을 바로 출력하는게 효율적인가
JAVA에서 가공해서 출력하는게 효율적인가
각각의 장단점이 있다.
SQL
장점
● 빠른 성능: 데이터베이스는 대용량 데이터 처리 및 쿼리 최적화에 최적화되어 있어, 필요한 데이터를 빠르게
추출할 수 있다.
● 네트워크 트래픽 감소: DB에서 필요한 데이터만 가져오므로, 네트워크를 통해 전달되는 데이터 양이 준다.
● 단순한 JAVA 코드: 데이터베이스에서 미리 가공된 데이터를 가져오기 때문에 JAVA 코드가 단순해진다.
단점
● 복잡한 쿼리
● 유지보수 어려움 : 복잡한 비즈니스 로직을 SQL에 포함시키면, 추후 변경 시 유지보수가 어려워진다.
● 제한된 DB 기능 : 특정 데이터베이스는 복잡한 데이터 가공 기능이 부족할 수 있다.
JAVA
장점
● 유연성 : JAVA는 프로그래밍 언어로서 복잡한 로직을 구현하기가 더 쉽고 유연하다.
● 비즈니스 로직 분리 : 데이터베이스와 애플리케이션 로직을 분리함으로써 코드의 가독성과 유지 보수성을
높일 수 있다.
● 재사용성 : JAVA코드로 작성된 로직은 다양한 데이터베이스나 다른 상황에서도 재사용할 수 있다.
단점
● 성능 문제 : 대량의 데이터를 JAVA로 가져와서 처리할 경우, 성능 저하가 발생할 수 있다.
● 높은 메모리 사용량 : 많은 데이터를 메모리로 로드해서 가공해야 하는 경우, 메모리 사용량이 크게 증가할 수 있다.
● 복잡한 JAVA 코드 : 데이터 가공 로직이 복잡해지면 JAVA코드가 매우 복잡해질 수 있다.
→ 대용량의 데이터고 수정이 잦지 않은 데이터( ex) ...통계)는 SQL문으로, 데이터의 변경이 잦거나 유지보수를 자주 하는
경우는 JAVA