新手:OrientDB基本SQL查询

时间:2015-01-15 11:47:09

标签: sql orientdb

OrientDB版本1.7.10

我们正在运行以下两个查询,并且返回的记录数不同。

select from (select from sitedata ) where localdate='2014-09-24'
select from sitedata where  localdate='2014-09-24'

第一个查询返回6条记录,而第二条查询只返回一条记录。

Sitedata是一个顶点,localdate是一个具有Date数据类型的属性。 在localdate上也创建了一个索引。

从概念上讲,两个查询之间有什么区别?在第一个场景中,我们在RDBMS世界中创建所谓的内联视图,然后在内联视图中对记录进行过滤。我们假设它必须在内部从数据库中获取所有记录,然后在内存中进行过滤。 在第二个查询中,直接过滤数据并使用索引。

1 个答案:

答案 0 :(得分:2)

不同之处在于,在第一个查询中,未使用索引。 因此,它会对类sitedata进行全面扫描并应用过滤器

引擎无法使用索引,因为查询的目标是嵌套查询, 所以它在内存中应用过滤时评估嵌套然后外部查询