【AQL】WINDOW 操作

【AQL教程1】语法 图查询语言AQL语法 阅读详情

WINDOW operation in AQL

WINDOW 操作

利用WINDOW操作对相邻文档或基于文档属性相对值范围的值区间进行滑动窗口聚合,以计算累计总额、滚动平均值以及其他统计属性。

WINDOW操作主要用于对查询结果中相邻文档或者说是前后行进行聚合操作。它也可以基于文档属性的值或持续时间范围进行聚合。

该操作类似于COLLECT AGGREGATE操作对一组查询行进行处理。然而,与将多行查询结果合并成单个结果组的COLLECT操作不同,WINDOW操作为每行查询结果生成一个独立的结果:

  • 函数评估发生的行被称为当前行。
  • 与当前行相关的、函数在其上进行评估的所有查询行构成了当前行的窗口帧。

窗口帧相对于当前行的定义如下:

  • 通过定义窗口帧为从查询开始到当前行的所有行,可以计算每行的累计总额。
  • 通过定义窗口帧为当前行两侧延伸N行,可以计算滚动平均值。

语法

WINDOW 操作有两种用法

基于行(相邻文档):

WINDOW { preceding: numPrecedingRows, following: numFollowingRows } AGGREGATE variableName = aggregateExpression

基于范围(值或持续时间范围):

WINDOW rangeValue WITH { preceding: offsetPreceding, following: offsetFollowing } AGGREGATE variableName = aggregateExpression

聚合表达式中支持对以下函数的调用:

  • LENGTH() / COUNT()
  • MIN()
  • MAX()
  • SUM()
  • AVERAGE() / AVG()
  • STDDEV_POPULATION() / STDDEV()
  • STDDEV_SAMPLE()
  • VARIANCE_POPULATION() / VARIANCE()
  • VARIANCE_SAMPLE()
  • UNIQUE()
  • SORTED_UNIQUE()
  • COUNT_DISTINCT() / COUNT_UNIQUE()
  • BIT_AND()
  • BIT_OR()
  • BIT_XOR()

基于行的聚合

WINDOW的第一种语法形式允许在当前行之后或之前的固定数量的行上进行聚合。也可以定义所有前面或后面的行都应该聚合(“unbounded”)。行数必须在查询编译时确定。

下面的查询演示了使用窗口框架来计算运行总计以及根据当前行及其前后的行计算的滚动平均值:

FOR t IN observations
  SORT t.time
  WINDOW { preceding: 1, following: 1 }
  AGGREGATE rollingAverage = AVG(t.val), rollingSum = SUM(t.val)
  WINDOW { preceding: "unbounded", following: 0}
  AGGREGATE cumulativeSum = SUM(t.val)
  RETURN {
    time: t.time,
    subject: t.subject,
    val: t.val,
    rollingAverage, // average of the window's values
    rollingSum,     // sum of the window's values
    cumulativeSum   // running total
  }
[ 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "st113", 
    "val" : 10, 
    "rollingAverage" : 5, 
    "rollingSum" : 10,  // 此处的10就是 10 + 0
    "cumulativeSum" : 10 
  }, 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "xh458", 
    "val" : 0, 
    "rollingAverage" : 6.333333333333333, 
    "rollingSum" : 19,  // 此处的19就是 10 + 0 + 9
    "cumulativeSum" : 10 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "st113", 
    "val" : 9, 
    "rollingAverage" : 6.333333333333333, 
    "rollingSum" : 19, 
    "cumulativeSum" : 19 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "xh458", 
    "val" : 10, 
    "rollingAverage" : 14.666666666666666, 
    "rollingSum" : 44,  // 此处的44就是 9 + 10 + 25
    "cumulativeSum" : 29 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "st113", 
    "val" : 25, 
    "rollingAverage" : 13.333333333333334, 
    "rollingSum" : 40, 
    "cumulativeSum" : 54 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "xh458", 
    "val" : 5, 
    "rollingAverage" : 16.666666666666668, 
    "rollingSum" : 50, 
    "cumulativeSum" : 59 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "st113", 
    "val" : 20, 
    "rollingAverage" : 18.333333333333332, 
    "rollingSum" : 55, 
    "cumulativeSum" : 79 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "xh458", 
    "val" : 30, 
    "rollingAverage" : 25, 
    "rollingSum" : 75, 
    "cumulativeSum" : 109 
  }, 
  { 
    "time" : "2021-05-25 08:00:00", 
    "subject" : "xh458", 
    "val" : 25, 
    "rollingAverage" : 27.5, 
    "rollingSum" : 55, 
    "cumulativeSum" : 134 
  } 
]

行顺序由时间属性上的SORT操作控制。
第一个窗口操作聚合前一行、当前行和下一行(前一行和后一行设置为1),并计算这三个值的平均值和总和。在第一行的情况下,没有前一行而是后一行,因此将值10和0相加以计算总和,该总和除以2以计算平均值。对于第二行,将值10、0和9相加并除以3,依此类推。

第二个WINDOW操作聚合所有以前的值(“unbounded”)以计算一个运行的和。对于第一行,这仅仅是10,对于第二行,它是10+0,对于第三行,10+0+9,依此类推。

timesubjectvalrollingAveragerollingSumcumulativeSum
2021-05-25 07:00:00st1131051010
2021-05-25 07:00:00xh45806.333…1910
2021-05-25 07:15:00st11396.333…1919
2021-05-25 07:15:00xh4581014.666…4429
2021-05-25 07:30:00st1132513.333…4054
2021-05-25 07:30:00xh458516.666…5059
2021-05-25 07:45:00st1132018.333…5579
2021-05-25 07:45:00xh458302575109
2021-05-25 08:00:00xh4582527.555134

下面的查询演示了使用窗口框架来计算按时间排序的查询行的每个主题组内的运行总数,以及根据当前行及其前后的行计算的滚动总和和平均值,以及按主题组并按时间排序:

FOR t IN observations
  COLLECT subject = t.subject INTO group = t
  LET subquery = (FOR t2 IN group
    SORT t2.time
    WINDOW { preceding: 1, following: 1 }
    AGGREGATE rollingAverage = AVG(t2.val), rollingSum = SUM(t2.val)
    WINDOW { preceding: "unbounded", following: 0 }
    AGGREGATE cumulativeSum = SUM(t2.val)
    RETURN {
      time: t2.time,
      subject: t2.subject,
      val: t2.val,
      rollingAverage,
      rollingSum,
      cumulativeSum
    }
  )
  // flatten subquery result
  FOR t2 IN subquery
    RETURN t2
[ 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "st113", 
    "val" : 10, 
    "rollingAverage" : 9.5, 
    "rollingSum" : 19, 
    "cumulativeSum" : 10 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "st113", 
    "val" : 9, 
    "rollingAverage" : 14.666666666666666, 
    "rollingSum" : 44, 
    "cumulativeSum" : 19 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "st113", 
    "val" : 25, 
    "rollingAverage" : 18, 
    "rollingSum" : 54, 
    "cumulativeSum" : 44 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "st113", 
    "val" : 20, 
    "rollingAverage" : 22.5, 
    "rollingSum" : 45, 
    "cumulativeSum" : 64 
  }, 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "xh458", 
    "val" : 0, 
    "rollingAverage" : 5, 
    "rollingSum" : 10, 
    "cumulativeSum" : 0 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "xh458", 
    "val" : 10, 
    "rollingAverage" : 5, 
    "rollingSum" : 15, 
    "cumulativeSum" : 10 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "xh458", 
    "val" : 5, 
    "rollingAverage" : 15, 
    "rollingSum" : 45, 
    "cumulativeSum" : 15 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "xh458", 
    "val" : 30, 
    "rollingAverage" : 20, 
    "rollingSum" : 60, 
    "cumulativeSum" : 45 
  }, 
  { 
    "time" : "2021-05-25 08:00:00", 
    "subject" : "xh458", 
    "val" : 25, 
    "rollingAverage" : 27.5, 
    "rollingSum" : 55, 
    "cumulativeSum" : 70 
  } 
]

基于范围的聚合

WINDOW的第二种语法形式允许对值范围内的所有文档进行聚合。偏移是当前文档中属性值的差异。
属性值必须是数字。偏移量计算是通过添加或减去在以下和前面的属性中指定的数字偏移量来执行的。偏移量必须是正数,并且必须在查询编译时确定。默认偏移量为0。

基于范围的窗口语法要求按行值对输入行进行排序。为了确保结果的正确性,AQL优化器将自动在WINDOW语句前面的查询中插入SORT语句。如果组标准上存在排序索引,优化器稍后可能能够优化掉SORT语句。

以下查询演示了使用窗口框架来计算当前文档以及t.val中属性值在[-10,+5](包括)范围内的文档的总计和平均值,包括前面和下面的文档:

FOR t IN observations
  WINDOW t.val WITH { preceding: 10, following: 5 }
  AGGREGATE rollingAverage = AVG(t.val), rollingSum = SUM(t.val)
  RETURN {
    time: t.time,
    subject: t.subject,
    val: t.val,
    rollingAverage,
    rollingSum
  }
[ 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "xh458", 
    "val" : 0, 
    "rollingAverage" : 2.5, 
    "rollingSum" : 5 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "xh458", 
    "val" : 5, 
    "rollingAverage" : 6.8, 
    "rollingSum" : 34 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "st113", 
    "val" : 9, 
    "rollingAverage" : 6.8, 
    "rollingSum" : 34 
  }, 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "st113", 
    "val" : 10, 
    "rollingAverage" : 6.8, 
    "rollingSum" : 34 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "xh458", 
    "val" : 10, 
    "rollingAverage" : 6.8, 
    "rollingSum" : 34 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "st113", 
    "val" : 20, 
    "rollingAverage" : 18, 
    "rollingSum" : 90 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "st113", 
    "val" : 25, 
    "rollingAverage" : 25, 
    "rollingSum" : 100 
  }, 
  { 
    "time" : "2021-05-25 08:00:00", 
    "subject" : "xh458", 
    "val" : 25, 
    "rollingAverage" : 25, 
    "rollingSum" : 100 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "xh458", 
    "val" : 30, 
    "rollingAverage" : 25, 
    "rollingSum" : 100 
  } 
]

由于val为0,第一行的值范围为[-10,5],因此第一行和第二行的值加起来为5,平均值为2.5。最后一行的值范围是[20,35],因为val是30,这意味着最后四行的总和为100,平均值为25(该范围包括在内,即val落在值为20的范围内)。

timesubjectvalrollingAveragerollingSum
2021-05-25 07:00:00xh458025
2021-05-25 07:30:00xh45856.834
2021-05-25 07:15:00st11396.834
2021-05-25 07:00:00st113106.834
2021-05-25 07:15:00xh458106.834
2021-05-25 07:45:00st113201890
2021-05-25 07:30:00st1132525100
2021-05-25 08:00:00xh4582525100
2021-05-25 07:45:00xh4583025100

基于持续时间的聚合

按时间间隔聚合是基于范围的聚合的一个子类型,它使用第二种语法形式的WINDOW,但具有ISO 标准时间。

为了支持时间序列数据上的窗口帧,窗口操作可以使用正的ISO 8601持续时间字符串来计算时间戳偏移,如P1Y6M(1年6个月)或PT12H30M(12小时30分钟)。另请参阅日期函数。与ISO 8601标准不同,周组件可以与其他组件自由组合。例如,P1WT1H和P1M1W都是有效的。小数仅支持秒数,分隔符后最多支持三位小数,即毫秒精度。例如,PT0.123S是有效的持续时间,而PT0.5H和PT0.1234S不是。

工期可以在下面和前面分别指定。如果使用这样的持续时间,则当前文档的属性值必须是一个数字,并被视为以毫秒为单位的数字时间戳。范围包括在内。如果未指定任一绑定,则将其视为空持续时间(即P0D)。
以下查询演示了如何使用窗口框架,根据从日期时间字符串转换为数字时间戳的文档属性时间,计算最后30分钟(包括30分钟)内观测值的滚动和和平均值:

FOR t IN observations
  WINDOW DATE_TIMESTAMP(t.time) WITH { preceding: "PT30M" }
  AGGREGATE rollingAverage = AVG(t.val), rollingSum = SUM(t.val)
  RETURN {
    time: t.time,
    subject: t.subject,
    val: t.val,
    rollingAverage,
    rollingSum
  }
[ 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "st113", 
    "val" : 10, 
    "rollingAverage" : 5, 
    "rollingSum" : 10 
  }, 
  { 
    "time" : "2021-05-25 07:00:00", 
    "subject" : "xh458", 
    "val" : 0, 
    "rollingAverage" : 5, 
    "rollingSum" : 10 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "st113", 
    "val" : 9, 
    "rollingAverage" : 7.25, 
    "rollingSum" : 29 
  }, 
  { 
    "time" : "2021-05-25 07:15:00", 
    "subject" : "xh458", 
    "val" : 10, 
    "rollingAverage" : 7.25, 
    "rollingSum" : 29 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "st113", 
    "val" : 25, 
    "rollingAverage" : 9.833333333333334, 
    "rollingSum" : 59 
  }, 
  { 
    "time" : "2021-05-25 07:30:00", 
    "subject" : "xh458", 
    "val" : 5, 
    "rollingAverage" : 9.833333333333334, 
    "rollingSum" : 59 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "st113", 
    "val" : 20, 
    "rollingAverage" : 16.5, 
    "rollingSum" : 99 
  }, 
  { 
    "time" : "2021-05-25 07:45:00", 
    "subject" : "xh458", 
    "val" : 30, 
    "rollingAverage" : 16.5, 
    "rollingSum" : 99 
  }, 
  { 
    "time" : "2021-05-25 08:00:00", 
    "subject" : "xh458", 
    "val" : 25, 
    "rollingAverage" : 21, 
    "rollingSum" : 105 
  } 
]

时间为07:30:00,从07:00:00到07:30:0的所有内容都在前面的持续时间范围内:“PT30M”,因此将前六行合计为59,平均9.8333…。

timesubjectvalrollingAveragerollingSum
2021-05-25 07:00:00st11310510
2021-05-25 07:00:00xh4580510
2021-05-25 07:15:00st11397.2529
2021-05-25 07:15:00xh458107.2529
2021-05-25 07:30:00st113259.8333…59
2021-05-25 07:30:00xh45859.8333…59
2021-05-25 07:45:00st1132016.599
2021-05-25 07:45:00xh4583016.599
2021-05-25 08:00:00xh4582521105
【ArangoDB教程4】ArangoDB各个版本亮点介绍 # 【ArangoDB】ArangoDB各个版本亮点介绍 阅读详情

相关推荐

MSSQL渗透环境之SQL+Server+2016+安装配置

指定SQL Server实例的名称和实例ID。勾选数据库引擎服务-SQL Server 复制,共享功能-客户端工具连接、SQL客户端连接SDK,目录保持默认,然后点击下一步。然后点击下一步,可以看到一个安装配置清单,如有需要修改的,可以点上一步进行修改,确定无误后点击安装进行安装。在常规中,方面选择外围应用配置器,找到XPCmdShellEnabled属性,设置为True,然后点击确定。在命名实例中输入 实例名,在实例ID中输入实例ID,这里可以保持默认,如果存在已有实例,请注意不要重名。

hyun134340的博客 670

【AQL】AQL高级操作

高级操作是查询语言的核心语言结构,用于执行查找和返回数据以及创建和修改文档等操作。

Number_In的博客 483

MySQL进阶:SQL高级技巧 - 窗口函数(Window Function)

窗口函数是在满足某种条件的记录集合上执行一个特殊的函数。这个记录集合称为窗口,特殊函数则是在这个窗口上执行的函数。窗口函数可以用于处理分组、排序、累计等复杂的聚合任务,使得查询更加简洁和高效。通过合理设置和管理MySQL的窗口函数,可以有效提升系统的性能和稳定性,减少不必要的查询复杂度。希望本文能帮助你更好地理解和利用窗口函数,让你在数据库管理的道路上更进一步。🌟如果你有任何疑问或想要分享的经验,欢迎留言交流!💬。

墨夶的博客 1776

【AQL】COLLECT 操作

请注意,这会考虑在COLLECT语句之前定义的所有变量,但不包括顶层(FOR循环外部)定义的变量,除非COLLECT语句本身就在顶层,那样的话所有变量都会被考虑进去。在ArangoDB中,并未明确提到SORT null这样的语法,但在某些数据库中类似的概念可用于指导优化器做出更高效的执行计划。要确切知道查询中实际使用的COLLECT变体,可以通过查看查询的执行计划来确定,特别是检查CollectNode节点的注释部分,该注释通常会显示所采用的具体收集策略及其相关属性。这些变量通常包含了分组或聚合的结果。

Number_In的博客 1410

使用VLC库实现视频播放器(WPF版)

使用wpf制作一个视频播放器 一、 LibVLCSharp介绍 LibVLCSharp是基于VideoLAN的LibVLC库的.NET平台的跨平台音频和视频API。它提供了一个全面的多媒体API,可以跨移动、服务器和桌面使用,以呈现视频和输出音频。支持Mono、.NET Framework和.NET核心运行时。在vs工具中,只需要安装截图中得两个nuget包。 二、视频播放器的实现 视频播放器的实现需要用到两个比较nuget包中提供的类,MediaPlayer类。MediaPlayer类型用于控

cangqiongxiaoye的博客 1万+

【AQL】AQL语法

该文档主要是翻译自。

Number_In的博客 1673

C语言使用开源库libusb进行USB设备操作

https://libusb.info/libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform AP

m0_60352504的博客 1554

ArangoDB的使用

ArangoDB教程(二)-AQL语句使用,图使用,结合WEB界面端 arango语法操作示例 知识图谱笔记 ArangoDB教程: Python 10分钟 使用Python操作ArangoDB

升级迭代 854

【DL经典回顾】距离度量大汇总(7-余弦距离(Cosine Distance))

余弦距离(Cosine Distance)衡量的是两个向量在方向上的差异性,而不是在大小上的差异。

悦学共鸣,温柔以待,汇聚光芒,共同成长 2579

37.华为路由器:loopback(本地回环)接口的作用

本地环回接口(或地址),亦称回送地址(loopback address)。 此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。常见于如下用途: 1 作为一台路由器的管理地址 系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为管理地址 ,管理员会使用该地址对路由器远程登录(telnet ),该地址实际上起到了类似设备名称一类的功能。 但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢 ? 原因如下:由于

迷逝 3万+

ArangoDB图形数据库(基础简介)

今天给大家分享一个图数据库——ArangoDB,提起图数据库,相信大多数人比较了解的应该要属Neo4J了,因其在国内使用较为广泛,文档资料较为齐全,所以很多企业在技术选型时多采用Neo4J。当然,也有很多的企业选择了ArangoDB,其中不乏BAT这样的大型企业,故而ArangoDB还是有其可用之处。图形数据库在当下流行的知识图谱中应用广泛。 ArangoDB是一个...

perpetualTime的博客 2930

SAP-ABAP:SAP数据库视图的创建图文详解

在“短文本”字段中输入视图的描述。在“表/视图”字段中输入要基于的表名。如果视图基于多个表,可以在这里输入主表。点击“表/视图字段”按钮,选择要包含在视图中的字段。如果视图基于多个表,点击“关系”按钮来定义表之间的连接条件。在弹出的窗口中,选择要连接的表,并定义连接条件(例如。

baidu_35680696的博客 973

ArangoDB数据库入门

ArangoDB数据库入门作者:chszs,转载需注明。博客主页:http://blog.youkuaiyun.com/chszs一、ArangoDB介绍ArangoDB是一个开源NoSQL数据库,官网:https://www.ArangoDB.org/ArangoDB支持灵活的数据模型,比如文档Document、图Graph以及键值对Key-Value存储。ArangoDB同时也是一个高性能的数据库,它使用

chszs的专栏 2万+

彻底摆脱文献只能读开头的痛苦!这款文献检索神器真能帮你跨越文献付费限制(附实操演示)

大家是不是有过这样的经历,好不容易通过关键词搜到了和自己主题高度相关的文献,想要快速获取文献信息,推进研究进度,却又因为付费或者需订阅才能下载PDF,而被劝退。粘贴完成后,点击搜索,搜索结果页面会显示这篇文献的相关信息,有的文献有“下载PDF”,有的文献则只有“求助PDF”,不管是哪种情况,直接点击进入;我这里点击的是“下载PDF”,接着它会跳转页面。我用 Book 学术下载过不少付费文献,实测下来 80% 左右的文献,都能通过它的求助方式成功获取到,只有少部分文献等待的时间会稍微久一些或者没办法下载。

qq_64378896的博客 163

innovus:addRepeaterByRule用法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?addRepeaterByRule不管transition/timing violation,只根据约束的length/cap/fanout等等去给net 插buffer。

m0_61544122的博客 1091

ArangoDB

ArangoDB概念

分享学习路线、运维调优与故障等解决方案 937

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

mysql for win10 64_Windows10 64位安装MySQL5.6.35的图文教程

1. 下载MySQL Community Server 5.6.352. 解压MySQL压缩包将以下载的MySQL压缩包解压到自定义目录下。我放在D:\Program Files\MySQL\添加环境变量(个人认为只需要添加到用户变量就好,系统变量尽量不要去修改)变量名:MYSQL_HOME变量值:D:\Program Files\MySQL即为mysql的自定义解压目录。再在Path中添加 %M...

weixin_39945871的博客 229

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ArangoDB 的使用 -- 安装和配置

ArangoDB是一个开源的分布式原生多模型数据库,是兼有图 (graph)、文档 (document)和键/值对 (key/value) 三种数据模型的 NoSQL 数据库。ArangoDB 使用类SQL的查询语言(AQL)构建出高性能应用程序。 ArangoDB 的安装 Ar...

chengze0856的博客 2493

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Windows 7 x64 (英文操作系统)安装SQLServer 2005版本相关解决方法

今天咨询了将来要从事的公司leader,重装系统后,配置开发环境。遇到的许多费劲的事情,我的环境visual studio2010 + SQLServer2005 。 首先,安装vs是很顺利的。下面提供软件下载地址vs2010 中文旗舰版:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=06a32b1c-80e9-41...

weixin_30815427的博客 186

SAP Sybse SQL Anywhere 数据库

文地址:http://blog.youkuaiyun.com/berryreload/article/category/1788217   php访问SAP Sybse SQL Anywhere 数据库 分类: SAP SQL Anywhere2013-12-21 18:06 1017人阅读 评论(0) 收藏 举报 环境: Windows 2008服务器 Apa

mfkpie的专栏 1860

windows mysql cluster 配置_Windows环境下配置MySQL Cluster

一、准备工作 首先得准备好硬件设施、我这里是3台机器在做群集、结构如下: 管理节点(MGM) 172.16.0.162(db1) SQL节点1(SQL1) 172.16.0.161(db2) SQL节点2(SQL2) 172.16.0.202(db3) 数据节点1(NDBD1) 172.16.0.161(db4) 数据节点2(NDBD2) 172.16.0.202(db4)一、准备工作首先得准备好...

weixin_33978578的博客 347

rdp连接工具_通过反向 SSH 隧道连接 RDP

本文作者:hl0rey(信安之路作者团队成员 & 信安之路红蓝对抗小组组长)成员招募:信安之路红蓝对抗小组招募志同道合的朋友这是这个系列最后一篇了,想要看更多内容请大家移步到原网站查看吧,这个系列的翻译可能会存在问题,希望大家可以理解,在实践中遇到问题欢迎与我们交流,有对红蓝对抗感兴趣的同学欢迎联系组长加入组织。22检测发现设置为密码永不过期的用户通常来说我们会把一个服务账户的...

weixin_39783149的博客 1731

计算机三级网络技术之网络管理技术 笔记

NS-2是指Network Simulator version 2,N-S(Network Simulator)是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术的所有方面。MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML文档方式显示给用户,以非常直观的形式显示流量负载。主动扫描更多地带有入侵的意味,可能会影响网络系统的正常运行。

qq_45418203的博客 910

命名管道

"命名管道"或"命名管线"(Named Pipes)是一种简单的进程间通信(I P C)机制,Microsoft Windows NT,Windows 2000,Windows 95以及Windows 98均提供了对它的支持(但不 包括Windows CE).命名管道可在同一台计算机的不同进程之间,或在跨越一个网络的不同计算机的不同进程之间,支持可靠的,单向或双向的数据通信.用命名管道来设计应用

MessCodes 1524
上一篇: 【AQL】COLLECT 操作
下一篇: 【源码 JDK 1.8】ArrayList的源码解读
尹正义
博客等级 码龄6年 134粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值