AQL文档翻译
文章平均质量分 75
ArangoDB的查询语言的官方文档翻译
尹正义
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【AQL】LIMIT操作
但是,还要考虑如果你多次运行查询,并且使用不同的 LIMIT 偏移量进行分页,如果排序顺序未定义,则可能会错过结果或得到重复的结果。在以下示例中,LIMIT操作并不影响写入操作(INSERT,UPDATE,REPLACE,REMOVE,UPSERT)本身,而仅仅限制了这些操作返回结果的数量。如果没有这样的属性,你仍然可以通过使用_id系统属性来实现稳定的排序,因为它在每个文档中都是唯一的。特别是在FILTER操作之前使用LIMIT,可能会对查询结果产生显著的影响,因为查询中的操作是按照书写的顺序执行的。原创 2024-03-15 21:57:27 · 539 阅读 · 1 评论 -
【AQL】SORT操作
如果优化规则处于活动状态,则第二个SORT将生效,因为它涵盖了相同的friend.age属性,并且在出现平局的情况下还会按另一个属性进行排序,使其更加准确。但是,如果第二个SORT表达式中的属性顺序相反,如SORT friend.id, friend.age,则最后一个SORT将生效。在优化过程中,AQL 优化器会优化常量 SORT 表达式,但如果优化器不需要考虑任何特定的排序顺序,则明确指定它们可能会实现进一步的优化。当遍历一个集合时,除非使用SORT操作显式定义排序顺序,否则文档的顺序是不确定的。原创 2024-03-11 20:54:21 · 525 阅读 · 0 评论 -
【AQL】LET操作
在上面的例子中,使用LET语句计算推荐数量的因子,从而避免在RETURN语句中计算两次值。LET语句通常用于声明复杂的计算和避免重复计算相同的值在多个查询的部分。LET的另一个用例是在子查询中声明一个复杂的计算,使整个查询更具可读性。变量被引入到LET语句所在的范围内。当变量被赋值后,你不能改变它的值。你可以使用LET操作将任意值赋给一个变量。表达式可以是简单表达式或子查询。原创 2024-03-19 20:53:40 · 386 阅读 · 0 评论 -
【AQL】WINDOW 操作
由于val为0,第一行的值范围为[-10,5],因此第一行和第二行的值加起来为5,平均值为2.5。最后一行的值范围是[20,35],因为val是30,这意味着最后四行的总和为100,平均值为25(该范围包括在内,即val落在值为20的范围内)。如果使用这样的持续时间,则当前文档的属性值必须是一个数字,并被视为以毫秒为单位的数字时间戳。对于第一行,这仅仅是10,对于第二行,它是10+0,对于第三行,10+0+9,依此类推。偏移量计算是通过添加或减去在以下和前面的属性中指定的数字偏移量来执行的。原创 2024-04-02 20:51:39 · 1142 阅读 · 0 评论 -
【AQL】COLLECT 操作
请注意,这会考虑在COLLECT语句之前定义的所有变量,但不包括顶层(FOR循环外部)定义的变量,除非COLLECT语句本身就在顶层,那样的话所有变量都会被考虑进去。在ArangoDB中,并未明确提到SORT null这样的语法,但在某些数据库中类似的概念可用于指导优化器做出更高效的执行计划。要确切知道查询中实际使用的COLLECT变体,可以通过查看查询的执行计划来确定,特别是检查CollectNode节点的注释部分,该注释通常会显示所采用的具体收集策略及其相关属性。这些变量通常包含了分组或聚合的结果。原创 2024-03-31 21:38:50 · 1410 阅读 · 1 评论 -
【AQL】AQL介绍
该文档主要是翻译自。原创 2024-01-26 21:58:54 · 999 阅读 · 1 评论 -
【AQL】FOR 操作
解释:在索引查找过程中,虽然可以快速定位到相关文档,但如果需要返回的结果占整个集合的很大比例或者几乎全部时,数据库系统可能需要额外加载主键值以获取完整文档信息,并且多次磁盘I/O操作会增加开销。如果启用了强制索引提示(forceIndexHint),并且所有指定的索引都不适用,则查询会失败,因为在这种情况下,系统被要求必须使用指定的索引进行查询优化,而无法找到合适的索引会导致操作无法执行。在每次内部循环迭代时,都会使用当前用户的值(存储在u中)和当前地点的值(存储在l中),进行进一步的处理或计算。原创 2024-02-05 22:08:08 · 1078 阅读 · 1 评论 -
【AQL】AQL高级操作
高级操作是查询语言的核心语言结构,用于执行查找和返回数据以及创建和修改文档等操作。原创 2024-02-04 20:53:14 · 483 阅读 · 1 评论 -
【AQL】如何执行AQL查询
该文档主要是翻译自。原创 2024-01-26 22:00:03 · 671 阅读 · 1 评论 -
【AQL】AQL语法
该文档主要是翻译自。原创 2024-02-01 19:33:00 · 1674 阅读 · 1 评论 -
【AQL】RETURN操作
如果DISTINCT应用于一个本身是数组或子查询的表达式上,那么DISTINCT操作不会使得每个数组或子查询结果中的值变得唯一,而是确保整个结果集中包含的是不同的数组或子查询结果。在上述情况下,DISTINCT将使子查询结果唯一,因此每个子查询将返回一个唯一的值数组([1,2,3,4])。在一个数据访问查询中,RETURN操作时必须的,否则这次查询的结果是未定义的。在这种情况下,如果希望得到一个单一对象,该对象以用户ID为键、年龄为值的映射关系,那么需要将每个用户的查询结果合并成一个对象。原创 2024-02-24 14:11:04 · 1011 阅读 · 0 评论 -
【AQL】FILTER操作
到达第二个FILTER块的文档不超过5个,并且并非所有文档都符合性别标准,即使集合中有5个以上的活跃女性用户。如果使用多个FILTER语句,它们的结果将通过逻辑AND组合,这意味着所有过滤条件都必须为true,才能包含元素。如果条件结果为false,当前元素将被跳过,因此不会进一步处理,也不会成为结果的一部分。在上例中,users中的所有元素active属性值为true并且age属性值小于39才会被包含在结果中,其他元素将被跳过。请注意,FILTER语句的位置可能会影响查询的结果。原创 2024-02-24 23:45:59 · 489 阅读 · 0 评论
分享