AWS Timestream如何测量查询时间?多语句SQL执行报错求助
AWS Timestream 查询相关问题解答
多语句查询报错原因
AWS Timestream的查询编辑器不支持在单个脚本中执行多条独立的SELECT语句。你单独执行每条语句时,编辑器会按单条语句处理,所以能正常运行;但把多条语句放在同一个脚本里提交时,因为Timestream不支持多语句批处理,就会触发语法错误。
测量查询时间的方法
- 利用控制台自带的查询详情:在查询编辑器执行完目标查询后,切换到结果区域的「详情」标签页,里面会直接显示查询的执行时间,这是最准确的方式,不需要手动写
now()来计算。 - 用SQL语句间接计算(可选):如果需要通过SQL记录时间差,可以将查询逻辑与前后的时间戳合并为一个支持的语句,比如使用
UNION ALL(注意要保证各部分的列数、数据类型一致),示例:
SELECT 'start' AS stage, now() AS timestamp UNION ALL SELECT 'query_count' AS stage, CAST(count(*) AS TIMESTAMP) FROM "test"."test" WHERE time BETWEEN ago(3d) AND now() UNION ALL SELECT 'end' AS stage, now() AS timestamp
执行后可以通过start和end对应的时间戳差值估算耗时,但这种方法的准确性不如控制台自带的执行时间,因为包含了语句解析和结果拼接的额外耗时。
内容的提问来源于stack exchange,提问作者Nanano
相关产品推荐
相关产品推荐

