将基表上的查询与计划查询结果的查询进行比较 - Amazon Timestream
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

从2025年6月20日起,亚马逊Timestream版 LiveAnalytics 将不再向新客户开放。如果您想使用亚马逊 Timestream LiveAnalytics,请在该日期之前注册。现有客户可以继续照常使用该服务。有关更多信息,请参阅 Amazon Timestream 以了解 LiveAnalytics 可用性变更。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将基表上的查询与计划查询结果的查询进行比较

在这个 Timestream 查询示例中,我们使用以下架构、示例查询和输出将基表上的查询与对计划查询结果派生表的查询进行比较。通过精心策划的计划查询,您可以获得行数更少且具有其他特征的派生表,这些特征可以使查询速度比原始基表更快。

有关描述此场景的视频,请参阅在 Amazon Timestream 中使用计划查询提高查询性能并降低成本。 LiveAnalytics

在本示例中,我们使用以下场景:

  • 区域 — us-east-1

  • 基本表"clickstream"."shopping"

  • 派生表"clickstream"."aggregate"

基表

下面描述了基表的架构。

类型 LiveAnalytics 属性类型的时间流

渠道

varchar

description

varchar

事件

varchar

维度

ip_address

varchar

维度

measure_name

varchar

MEASURE_NAME

产品

varchar

product_id

varchar

quantity

double

查询

varchar

session_id

varchar

维度

用户组

varchar

维度

user_id

varchar

维度

下面描述了基表的度量。基表是指在 Timestream 中运行定时查询的表。

  • 测量名称 — metrics

  • 数据-多

  • 尺寸

    [ ( user_group, varchar ),( user_id, varchar ),( session_id, varchar ),( ip_address, varchar ),( event, varchar ) ]

在基表上查询

以下是一个临时查询,它按给定时间范围内按照 5 分钟的聚合时间收集计数。

SELECT BIN(time, 5m) as time, channel, product_id, SUM(quantity) as product_quantity FROM "clickstream"."shopping" WHERE BIN(time, 5m) BETWEEN '2023-05-11 10:10:00.000000000' AND '2023-05-11 10:30:00.000000000' AND channel = 'Social media' and product_id = '431412' GROUP BY BIN(time, 5m),channel,product_id

输出:

duration:1.745 sec
Bytes scanned: 29.89 MB
Query Id: AEBQEANMHG7MHHBHCKJ3BSOE3QUGIDBGWCCP5I6J6YUW5CVJZ2M3JCJ27QRMM7A
Row count:5

定时查询

以下是每 5 分钟运行一次的定时查询。

SELECT BIN(time, 5m) as time, channel as measure_name, product_id, product, SUM(quantity) as product_quantity FROM "clickstream"."shopping" WHERE time BETWEEN BIN(@scheduled_runtime, 5m) - 10m AND BIN(@scheduled_runtime, 5m) - 5m AND channel = 'Social media' GROUP BY BIN(time, 5m), channel, product_id, product

对派生表进行查询

以下是对派生表的临时查询。派生表是指包含定时查询结果的时间流表。

SELECT time, measure_name, product_id,product_quantity FROM "clickstream"."aggregate" WHERE time BETWEEN '2023-05-11 10:10:00.000000000' AND '2023-05-11 10:30:00.000000000' AND measure_name = 'Social media' and product_id = '431412'

输出:

duration: 0.2960 sec
Bytes scanned: 235.00 B
QueryID: AEBQEANMHHAAQU4FFTT6CFM6UYXTL4SMLZV22MFP4KV2Z7IRVOPLOMLDD6BR33Q
Row count: 5

比较

以下是对基表的查询结果与对派生表的查询结果的比较。对通过计划查询完成的聚合结果的派生表的相同查询完成速度更快,扫描的字节更少。

这些结果显示了使用计划查询聚合数据以加快查询速度的价值。

在基表上查询 查询派生表

持续时间

1.745 秒

0.2960 秒

扫描的字节数

29.89 MB

235 个字节

行数

5

5