MySQL을 사용하여 응용 프로그램을 작성하고 MySQL을 사용하여 MySQL의 2 개 날짜 차이를 반환하거나 PHP에서 처리하도록해야합니까?MySQL에서 얼마나 많은 계산을해야합니까?
나는 또한 모든 결과의 합계가 필요하다. 반환해야하고 PHP 측에서 추가해야한다. 그렇지 않으면 MySQL 서버 측에서 모든 결과를 함께 추가 할 수있는 방법이 있는가?
MySQL을 사용하여 응용 프로그램을 작성하고 MySQL을 사용하여 MySQL의 2 개 날짜 차이를 반환하거나 PHP에서 처리하도록해야합니까?MySQL에서 얼마나 많은 계산을해야합니까?
나는 또한 모든 결과의 합계가 필요하다. 반환해야하고 PHP 측에서 추가해야한다. 그렇지 않으면 MySQL 서버 측에서 모든 결과를 함께 추가 할 수있는 방법이 있는가?
이것은 응용 프로그램에 다소 의존하지만, 일반적으로 PHP로 푸시합니다. 일반적으로 여러 동시 액세스를위한 웹 사이트를 구축하기 때문입니다. 왜 계산을 데이터베이스에 넣고 잠재적으로 목에 걸리는가?
좋은 답변이 없습니다. 나는 개인적으로 가능한 한 SQL에서 할 수 있지만 할 수 있기 때문에 대부분 그렇게해야한다.
그리고 그래, 당신은 합계를 계산하기 위해 MySQL을 요청할 수 있습니다 :
SELECT id, SUM(price) FROM items GROUP BY id WITH ROLLUP
마지막 결과는, ID를 가진 사람이 NULL과 동일, 모든 행에 대한 합계를 포함하는 것입니다.
수천 개의 다른 숫자가 있다면 데이터베이스 측에서 시도하려고합니다. Charlie가 말한 것은 꽤 평범한 것입니다. 저는 종종 데이터베이스에서 계산을 수행하고 서버 측 정렬을 수행해야 할 경우에 대비하여 추가 열로 추가합니다. 그러나 이것은 분명히 사용자의 경우가 아닙니다.
두 개의 개별적인 경우가 있다고 생각합니다. 두 값을 반환하고 계산을 수행하는 경우 중요한 비즈니스 논리가 필요한 복잡한 계산이 아니라면 프런트 엔드에서이를 수행하는 것이 가장 적합 할 수 있습니다. 복잡하거나 특수한 비즈니스 로직이 필요한 경우 비즈니스 계층이나 데이터베이스에 상관없이 일관성있게 수행되도록 논리에 대한 중심적인 위치를 가져야합니다. 두 날짜 사이의 차이점을 찾는다면 프런트 엔드에서 수행하십시오.
값을 합산하는 두 번째 경우에는 아마도 데이터베이스에서 수행되어야하는 것처럼 들릴 것입니다. 오늘날의 하드웨어에서는 네트워크가 현대 데이터베이스보다 병목 현상이 많습니다. 데이터베이스에서 행할 수있는 경우 네트워크를 통해 여러 행을 전송하여 저장하십시오.