本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将基表上的查询与计划查询结果的查询进行比较
在这个 Timestream 查询示例中,我们使用以下架构、示例查询和输出将基表上的查询与对计划查询结果派生表的查询进行比较。通过精心策划的计划查询,您可以获得行数更少且具有其他特征的派生表,这些特征可以使查询速度比原始基表更快。
有关描述此场景的视频,请参阅在 Amazon Timestream 中使用计划查询提高查询性能并降低成本
在本示例中,我们使用以下场景:
-
区域 — 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 |