2014-10-30 3 views
3

내 OrientDB 인스턴스에서 항목은 으로 저장된 date 속성을가집니다.orientDB에서 주어진 날짜의 날짜를 검색하는 방법은 무엇입니까?

주어진 연도에 작성된 모든 문서를 받고 싶습니다. 하지만 나는 쓰지 않을 것이라고 생각한다.

SELECT FROM posts WHERE date.format('yyyy')=2012 

가장 좋은 방법은. 그렇지 않습니까?

+0

가 그럼 난 것들, 특히 년 동안 생각하다, 클러스터링을 사용하는 것이 더 나은 방법입니다. – kwoxer

+0

가능한 복제본 [SQL Server의 특정 날짜보다 큰 모든 날짜를 어떻게 쿼리합니까?] (http://stackoverflow.com/questions/10643379/how-do-i-query-for-all-dates-greater -than-a-certain-date-in-sql-server) – Riduidel

+0

이전에 언급 한 질문을 사용하는 것보다 더 높거나 낮은 날짜로 쉽게 다시 쓸 수 있으므로 내 질문은 닫힙니다. – Riduidel

답변

3

주어진 쿼리가 매우 비효율적이므로 전체 테이블 스캔이 수행됩니다. 베스트 (가능한 인덱스를 사용할 수 있습니다)를 사용하는 것입니다 :

select from posts where date between '2012-01-01 00:00:00' and '2012-12-31 23:59:59' 

가정 : 날짜 형식 날짜 (시간)

+1

Orientdb는 날짜를 unixTime으로 내부적으로 저장합니다. 즉, "긴"숫자를 의미합니다. –

관련 문제