Basic Java Tutorial 컬럼에서는 주문 수입을 편리하게 계산하는 방법을 보여줍니다.
소개
통계적인 주문 수익은 전자상거래 앱에서 흔히 발생하는 문제입니다. 일반적인 요구 사항은 대략 사용자 수익입니다.日报/月报/年报
.这些报表型的数据对表设计和程序设计有着不小的挑战.常规的聚合查询
수익 테이블 데이터가 증가함에 따라 명세서 쿼리 시간은 점차 늘어납니다. 가변 길이가 커집니다. 이때 손익계산서를 어떻게 효율적으로 조회할 수 있는지 고민해야 합니다. 어떤 디자인이 통계적 소득을 단순화할 수 있을까요?
요구사항
렌더링

특별한 요구사항
소득 유형은 자체 구매 주문 소득, 공유 주문 소득, 유통수입, 활동수입 통계 당일수입, 이달수입 해당 기간의 수입은 필터링된 시간을 기준으로 계산됩니다.
Thinking
Design Ideas
주문표는 꼭 필요합니다. 주문표를 작성하거나 수정할 때 수정된 수입표도 동시에 작성됩니다. 주문은 주문표에 기록되며, 특별 사업의 손익계산서에만 기록됩니다. 그런 다음 사용자 收益日报表
.单行记录写入用户当天收益情况.降低
查询用户日/月/年收益统计时的数据量.以单用户为例,通过拆分用户一个月只会产生最多31
데이터를 생성하는 차원으로 사용합니다. 손익 계산서 데이터의 양은 사용자가 주문한 수와 일대일로 일치하므로 손익 계산서를 계속 사용하십시오. 사용자 수가 증가하기 시작하는 초기 단계에서는 대용량 데이터 통계를 피하기 위해 이 방법을 사용할 수 있습니다. 나중에 사용자 수가 증가하면 일일 보고서의 데이터가 커지면 하위를 고려할 수 있습니다. -테이블.
눈에 보이는 문제
일별 소득 보고서 동기화 타이밍은 원래 주문 작업이 매우 복잡하고 소득의 동기 작성과 일일 소득 데이터의 계산 및 작성이 필요하기 때문에 코드 결합이 손익계산서 이질성을 통해 일일 소득 보고서를 생성하는 방법은 무엇입니까? 일별 보고서에 소득이 기록되지만 렌더링에서 요구하는 효과를 충족하려면 여러 SQL 문이 필요할 수 있습니다. 결과에 영향을 주지 않고 이를 수행할 수 있는 방법이 있습니까? 프로그램 효율성을 유지하면서 집계된 SQL을 최대한 적게 사용하는 것은 어떻습니까?
구현 데이터 수집을 시작했고 마침내 이종 솔루션으로 채택되었습니다.
canal
+RocketMQ
기술 스택
canal: 주요 목적은 MySQL 데이터베이스 증분 로그 분석을 기반으로 증분 데이터 구독 및 소비를 제공하는 것입니다.
RocketMQ: 고가용성 분산 클러스터 기술을 기반으로 하는 오픈 소스 분산 메시징 시스템으로, 낮은 대기 시간 A를 제공합니다. 안정적인 메시지 게시 및 구독 서비스입니다.
注:我用的aliyun的全家桶,MQ和mysql都是阿里云的,如果是自建服务器的可能有区别,我在后面尽量标出
프로젝트 프로세스

손익계산서를 작성하거나 수정하는 동안 운하를 통해 mysql 손익계산서의 binlog 로그를 모니터링하세요. -
운하는 변화를 감지하고 조립합니다. 변경된 JSON 메시지를 전송하고 RocketMQ에 사전 정의된 TOPIC을 보냅니다.
공식 문서를 참조하세요. 압축을 풀면 세 개의 디렉터리가 포함된 운하 폴더가 생성됩니다
위 내용은 주문수입의 편리한 통계 (1)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
