我一直在使用SAP HANA数据库实例,并且已经对此运行了多个查询。我需要提取查询历史记录,最好是从系统表或其他地方。如果可能的话,请告诉我这是否可行以及任何指示,如果可能的话。
答案 0 :(得分:4)
如果需要执行查询的详细历史记录,则需要激活HANA SQL跟踪。您可以找到更多信息in the HANA documentation。当然,这不会追溯。因此,您必须先激活跟踪,然后然后运行您想要查看的查询。
此外,SQL Plan Cache还提供有关过去查询的聚合信息。它由预准备语句聚合,并提供运行时信息,如平均执行时间和结果大小。监视视图为SYS.M_SQL_PLAN_CACHE
。
答案 1 :(得分:0)
方便的grep命令forc 查找跟踪文件:
# find / -name *.trc # finding trace files
$ grep -n -B 5 -A 1 '^.*select.*$' flatfile # displays matches in a flatfile with context and line numbers ( surrounding five lines above and 1 line below )
$ grep -n -B 5 -A 1 '^.*select\|84443781510009.*$' flatfile # <- or statement for keywords with \| characters
hana studio允许您将配置应用于跟踪行为(仅针对给定的用户,对象等进行跟踪),最好从hana studio / hdbsql级别更改此行为
如前所述,M_SQL_PLAN_CACHE和M_SQL_PLAN_CACHE_RESET系统视图可方便地查询和检索已执行的sql语句及其统计信息。