【发布时间】:2019-07-19 21:11:45
【问题描述】:
假设有以下 SQL 查询:
select count(name)
from asset
where bucket in (
select @RID
from bucket
where repository_name = 'some-release'
) and blob_updated < sysdate() - 17280000000
+----+-----+
|# |count|
+----+-----+
|0 |90717|
+----+-----+
我发现存储库some-release 中有多少文件超过 200 天。我花了 17.588 秒。但是,我想利用以下查询将 200 天转换为毫秒,它给了我相同的输出,但需要 83.93 秒:
select count(name)
from asset
let $days = (
select eval ( "200 * 24 * 60 * 60 * 1000" )
)
where bucket in (
select @RID
from bucket
where repository_name = 'some-release'
) and blob_updated < sysdate() - first($days.eval)
为什么需要这么长时间以及如何优化它?
存储库 some-release 包含 255196 个文件。
【问题讨论】:
标签: sql optimization subquery orientdb nexus