나는 기본적으로 SQL 서버에 아무것도 할 것이라고 :
의 데이터를 합산, 계산의 많은, 평균 등을 수행하고 단일 값을 반환합니다. 많은 양의 데이터를 중간 계층으로 전송할 때 실제로 열을 요약 할 필요가 없습니다.
행/세트 기반 조작이 많습니다. 많은 양의 데이터를 복사, 삽입, 업데이트해야 할 필요가있는 경우 해당 데이터를 모두 중간 계층으로 드래그 한 다음 다시 서버로 보내면됩니다. 서버에서 바로 실행하십시오. 또한 : T-SQL은 간단히
이 될 수 귀하의 중간 계층에서 무엇보다 (주위 데이터를 셔플 등) 집합 기반 작업을 다루는 훨씬 빠르다 : 클라이언트에 많은 양의 데이터 전송을 방지하려고 (데이터베이스에 저장된 파일을 다운로드하려는 경우 또는 실제로 에이 필요하다면 앱의 객체에 구체화되어 200 개의 행이 어딘가에 표시되거나 운영되도록해야합니다.)/중간 계층/비즈니스 계층 on)
자주 간과되는 기능 중 하나는 데이터베이스 테이블의 계산 열입니다. 예를 들면. 주문 합계와 세금 및 배송료를 합계로 합산 한 것, 성과 이름을 표시 이름으로 합치는 것이 좋습니다. 이러한 종류의 것들은 비즈니스 로직 계층에서만 처리하면 안됩니다. 데이터베이스의 데이터를 직접 처리하면 데이터베이스 테이블을 검사하고 SQL Server의 데이터를 볼 때 해당 "계산 된"값을 사용할 수 있습니다 MGMT 스튜디오 ...
나는 그것이 등 광범위한 로직 검사, 문자열 구문 분석, 패턴 매칭 및 필요한 경우 중간 계층/비즈니스 로직 계층
그러나 이것은 단지 "거친"지침 일뿐입니다. 항상 각 경우에 대한 디자인 결정이므로 엄격한 규칙을 믿지는 않습니다. 당신의 마일리지는 경우에 따라 다양 할 수 있으므로, 주어진 작업에 가장 적합한 접근 방식을 선택하십시오.
나는 데이터베이스에서 계산을 항상 수행 할 것입니다 ** ** 귀하의 계산이 많은 데이터 **를 중간 계층으로 반환해야한다면 ** 예를 들어 계산 된 'SUM'. 왜 그 모든 데이터를 주위에 보내는 것을 귀찮게합니까 ?? 데이터베이스는 일부 값을 합산하고 단일 결과를 다시 전송할 수있는 기능을 갖추고 있습니다. ** 많은 ** 효율적인! 따라서 많은 일을 할 필요가있을 때마다 서버에서 수행하십시오. –
@marc_s에 동의합니다. SQL Server는 데이터를 빠르고 효율적으로 처리하도록 설계되었습니다. –