나는 웹 사이트에 나중에 게시해야하는 많은 콘텐츠가 있습니다. 시간이되면 가장 효과적인 방법은 무엇입니까?웹 사이트에서 콘텐츠를 예약하는 가장 효율적인 방법
현재 구현은 두 개의 datetime 열 online_at
및 offline_at
입니다. online_at
및 offline_at
열을 통해 인덱스
SELECT *
FROM contents
WHERE online_at > current_timestamp
AND (offline_at IS NULL OR
offline_at < current_timestamp);
:
내용을 가져 오기 위해 SQL 쿼리는 다음과 같이 보인다. 그것은 잘 작동하고 분명한 성능 벌칙은 없지만, 이것에 대해 더 효율적인 방법이 있는지 궁금해하고 있습니다. 색인을 하나의 더 간단한 열로 축소하는 방법이 있습니까 (비싼 datetime이 아님)? 당신은 NULL로 기본적으로하지 않습니다 또한 내가 그 오프라인 보험에 가입 제안 타임 스탬프는 4 바이트 대 8
을 사용합니다 사용하는,하지만 당신은 MySQL을 사용하는 경우, 귀하의 열을 어떤 데이터베이스 언급하지 않았다
online_at 및 offline_at 열 –
은 질문에 명시된 바와 같이 datetime 열입니다. online_at에는 콘텐츠가 온라인으로 표시되어야하는 datetime이 포함되고 offline_at에는 콘텐츠가 다시 사라져야하는 datetime이 포함됩니다. offline_at은 NULL 일 수도 있는데,이 경우에는 내용이 사라지지 않습니다. –
실행 계획은 어떻게 생겼습니까? –