2011-08-26 2 views
3

MySQL 5.1 InnoDB 환경에서 날짜 간격에 따라 데이터를 선택하는 가장 좋은 방법은 무엇입니까?PHP가 날짜 간격과 PHP를 비교하게하기

MySQL이 DATE_SUB(CURDATE(), INTERVAL 5 DAY) > created_at

같은 것을 통해 그것을 할 또는 PHP는 strtotime를 통해 제출하기 전에 날짜를 준비해야 분들께?

답변

3

MySql에 대한 쿼리를 통해이 작업을 수행합니다. 그렇게하면 PHP에서 날짜를 선택하는 논리를 유지할 수 있습니다. PHP는 디스플레이를 처리하기 만하면 더 작은 데이터 덩어리가 데이터베이스에서 나오는 이점을 얻습니다.

1

이 경우 성능 측면에서 중요하지 않다고 생각합니다. 귀하의 표현 (DATE_SUB)은 한 번만 평가됩니다. 또 다른 요점은 웹 서버와 mysql 서버가 서로 다른 시간대를 사용할 수 있기 때문에 결과가 다를 수 있다는 것입니다.

0

나는 데이터베이스에 가장 근접한 로직을 유지할 것이다. 최적화를 할 수있는 능력이 더 많다. 또한 테이블 변경을 쉽게하고 미래에 PHP (아마도 java/C# ...)의 사용을 변경하는 기능을 제공합니다. 또한 (데이터 용) 데이터베이스 beteen 차별화, PHP는 (HTML 배달), 자바 스크립트, CSS (사용자의 즐거움을 위해)를 사용하여 당신은 날짜 범위를 선택할 수 있습니다

0

(꽤 물건을 만들기 위해) BETWEEN ... AND ...

SELECT * FROM table1 t1 WHERE now() BETWEEN t1.startdate AND t1.enddate 

또는

필자는 범위에 대한 나의 정신적 인 그림과 매우 흡사하기 때문에이 구문을 선호합니다.