>백엔드 개발 >PHP 튜토리얼 >CRM 시스템 통계 테이블의 설계 문제

CRM 시스템 통계 테이블의 설계 문제

WBOY
WBOY원래의
2016-08-18 09:15:391462검색

현재 crm 통계 기능을 작업 중인데, 사용자와 관련된 다양한 데이터를 저장하기 위해 관련 테이블을 생성해야 합니다.
예: 해당 날짜에 직원의 신규 고객 수를 계산합니다.
먼저 직원들의 일일 고객 수를 저장하기 위한 통계표를 구성했습니다.
그런 다음 직원이 고객을 추가하면 통계표의 해당 필드에 1을 추가합니다. 고객이 삭제되면 통계표의 해당 필드가 1 감소합니다.
이것은 1을 더하고 1을 빼는 작업을 트리거하고 swoole을 사용하여 이를 비동기적으로 실행합니다.

최근 이번주, 이번달, 이번분기, 올해 통계자료 집계 기능 추가가 필요해졌습니다.

[주간통계표], [월통계표], [분기통계표], [연간통계표]에 해당하는 [일일통계표] 4부를 복사했습니다.
이 5개 테이블의 데이터 구조는 유사합니다.

CRM 시스템 통계 테이블의 설계 문제

현재 질문은 다음과 같습니다.
1. 사용자의 일일 고객 수를 계산하기 위해 비동기 트리거링을 사용하는 이전 방법이 최적입니까? 다른 더 좋은 방법이 있나요?
2. 주간, 월간, 분기별, 연간 데이터를 계산할 때 [일일통계표]에서 계산하는 것이 좋을까요, 이 4개의 테이블을 직접 구축하는 것이 좋을까요, 아니면 비동기 트리거링을 사용하여 해당 데이터를 직접 저장하는 것이 좋을까요?

혹시 답변해주실 전문가 있으신가요? 정말 감사합니다

답글 내용:

현재 crm 통계 기능을 작업 중인데, 사용자와 관련된 다양한 데이터를 저장하기 위해 관련 테이블을 생성해야 합니다.
예: 해당 날짜에 직원의 신규 고객 수를 계산합니다.
먼저 직원들의 일일 고객 수를 저장하기 위한 통계표를 구성했습니다.
그런 다음 직원이 고객을 추가하면 통계표의 해당 필드에 1을 추가합니다. 고객이 삭제되면 통계표의 해당 필드가 1 감소합니다.
이것은 1을 더하고 1을 빼는 작업을 트리거하고 swoole을 사용하여 이를 비동기적으로 실행합니다.

최근 이번주, 이번달, 이번분기, 올해 통계자료 집계 기능 추가가 필요해졌습니다.

[주간통계표], [월통계표], [분기통계표], [연간통계표]에 해당하는 [일일통계표] 4부를 복사했습니다.
이 5개 테이블의 데이터 구조는 유사합니다.

CRM 시스템 통계 테이블의 설계 문제

현재 질문은 다음과 같습니다.
1. 사용자의 일일 고객 수를 계산하기 위해 비동기 트리거링을 사용하는 이전 방법이 최적입니까? 다른 더 좋은 방법이 있나요?
2. 주간, 월간, 분기별, 연간 데이터를 계산할 때 [일일통계표]에서 계산하는 것이 좋을까요, 이 4개의 테이블을 직접 구축하는 것이 좋을까요, 아니면 비동기 트리거링을 사용하여 해당 데이터를 직접 저장하는 것이 좋을까요?

혹시 답변해주실 수 있는 전문가가 있으신가요? 정말 감사합니다

고객은 몇 명인가요? 100만 레벨 이하라면, 내가 하면 그냥 테이블에 보관하면 됩니다. 테이블에는 두 개의 필드가 있는데 하나는 created_at이고 다른 하나는 deleted_at이며 둘 다 날짜/시간 유형이며 이 두 필드가 인덱싱됩니다.

나중에 통계를 할 때 실시간으로 조회할 수 있는데, 속도가 100만 수준 이하로 매우 빠르고, 원하는 범위를 확인할 수 있습니다. 데이터가 아무리 많아도 캐시를 추가하면 성능 문제를 쉽게 해결할 수 있습니다. 이렇게 하려면 많은 테이블을 만드는 것이 너무 복잡하고 손실보다 이득이 더 큽니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.