집 >데이터 베이스 >MySQL 튜토리얼 >데이터베이스에서 오늘의 타임스탬프가 있는 행을 효율적으로 선택하는 방법은 무엇입니까?
오늘의 타임스탬프가 있는 행 선택
데이터베이스에서는 특정 기간을 기준으로 레코드를 검색하는 것이 중요한 경우가 많습니다. 일반적인 시나리오 중 하나는 오늘의 타임스탬프가 있는 레코드를 선택하는 것입니다. 이 기사에서는 이 특정 문제에 대한 해결책을 제시합니다.
타임스탬프 필드에 시간에 관계없이 오늘 날짜가 포함된 데이터베이스 테이블에서 레코드를 선택하는 것과 관련된 질문이 제기되었습니다. 제공된 쿼리는 DATE_SUB()를 사용하여 현재 시간에서 24시간을 빼고 지난 24시간 동안의 결과를 검색합니다.
날짜만을 기준으로 결과를 선택하려면 DATE() 및 CURDATE()를 활용할 수 있습니다. 기능. 수정된 쿼리는 다음과 같습니다.
SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE()
이 쿼리에서 DATE()는 타임스탬프 필드에서 날짜 구성 요소를 추출하고 시간 정보를 삭제합니다. CURDATE()는 현재 날짜를 반환하므로 오늘의 레코드만 검색합니다.
그러나 이 쿼리는 인덱스를 효율적으로 활용하지 못할 수 있다는 점에 유의하는 것이 중요합니다. 보다 최적화된 솔루션을 위해 색인화된 날짜 열을 사용하는 다음 쿼리를 고려하십시오.
SELECT * FROM `table` WHERE `date` = DATE(NOW())
이 쿼리는 날짜 열을 현재 날짜와 직접 비교하므로 날짜 열의 인덱스를 활용할 수 있습니다. 실행 속도가 빨라집니다.
위 내용은 데이터베이스에서 오늘의 타임스탬프가 있는 행을 효율적으로 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!