주어진 시간 범위 내에서 마지막 타임스탬프를 효율적으로 찾습니다.
P粉232409069
P粉232409069 2024-03-22 13:22:08
0
1
620

문제는 가상의 온라인 상점에 있습니다. 특정 문제에 대한 데이터를 단순화하겠습니다.

두 개의 테이블이 있다고 가정해 보겠습니다. 하나는 각 고객의 등록 날짜를 담고 있습니다

으아악

두 번째는 고객의 온라인 방문을 모두 저장합니다

으아악

사용자별로 등록 후 7일 이내에 온라인 상점을 방문한 마지막 날을 가장 효율적인 방법으로 확인하고 싶습니다. 사용자가 등록 후 매장을 방문하지 않은 경우 등록 후 7일 이내에 마지막 방문 날짜로 NULL을 반환해야 합니다.

물론 LEFT JOIN 고객이 고객 ID로 액세스하고 액세스 날짜등록일 사이에서 +7일으로 필터링하여 최종적으로 각 고객에 대한 최대 날짜를 얻을 수 있습니다. 그러나 초기 조인으로 인해 거대한 테이블이 생성되므로 계산 비용이 많이 드는 작업을 피하고 싶습니다.

생각해 주셔서 정말 감사합니다!

P粉232409069
P粉232409069

모든 응답(1)
P粉514458863

이것이 아마도 가장 효과적일 것입니다:

으아악

색인:

으아악

"계산적으로 비용이 많이 드는 작업"에 대한 우려 사항:

  • 행을 얻는 비용은 표현식을 평가하는 비용보다 높습니다.
  • 제가 추천하는 访问인덱스는 "오버레이"라서 인덱스만 봅니다.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿