gpt4 book ai didi

optimization - 在 MarkLogic 中优化 SPARQL 查询

转载 作者:行者123 更新时间:2023-12-03 16:54:42 25 4
gpt4 key购买 nike

在许多 SPARQL 系统中,您可以通过重新排列图形模式中的三元组来优化查询。在其他情况下,您不能(查询引擎使用自己的一些启发式方法优化它们)

在 Jena 中,您可以通过在查询的早期放置最限制结果集的三重模式来优化查询(并确保始终提及一些已经绑定(bind)的变量)。在其他查询引擎中,此策略不起作用(因为它们以不同方式处理查询)

显然,Marklogic SPARQL 对三重模式的顺序很敏感(我重新安排了一些查询,发现它们会更快或更慢,高达 10 倍)。但我找不到任何韵律或理由让序列变得更快或更慢。我在 Jena 中成功使用的启发式方法不适用于 MarkLogic。

我用谷歌搜索并查看了 MarkLogic 文档,但没有找到任何关于此的建议。是否有任何 MarkLogic 查询引擎作者对此做了任何记录?

最佳答案

优化级别给优化器一个提示,告诉它要花多少时间来寻找最佳查询计划。任何优化器都会花费一些时间来找到最佳计划,但必须在寻找该计划所花费的时间与使用最佳计划的好处之间取得平衡。我们大多数人在现实生活中都经历过这种取舍 (!)

优化级别 1 表示“做一些工作寻找最佳计划,但不要发疯”。级别 2 表示“做更多工作以找到最佳计划”。级别 0 表示“按原样接受查询”。

对于大多数查询,级别 1 是合适的,这是默认值。如果您有一个特别复杂的查询,请在级别 2 中尝试它,看看花费额外的时间来寻找一个使查询更快的计划是否真的在总体查询时间上得到返回。如果您有非常简单的查询,请尝试级别 0。

关于optimization - 在 MarkLogic 中优化 SPARQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36654580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com