确定运行时短查询的优先级
场景
您最近为没有 SQL 方面经验并且经常运行临时报表的用户创建了一个资源池。到目前为止,您通过创建 MEMORYSIZE 和 MAXMEMORYSIZE 相等的资源池来管理资源分配。这可以防止该资源池中的查询从 GENERAL 池中借用资源。现在,您希望在运行时管理资源并优先考虑短查询,使其不会因为运行时资源有限而排队。
解决方案
-
将资源池的
RUNTIMEPRIORITY
设置为 MEDIUM 或 LOW。 -
将资源池的
RUNTIMEPRIORITYTHRESHOLD
设置为您希望确保始终以较高优先级运行的查询的持续时间。
例如:
=> ALTER RESOURCE POOL ad_hoc_pool RUNTIMEPRIORITY medium RUNTIMEPRIORITYTHRESHOLD 5;
由于 RUNTIMEPRIORITYTHRESHOLD
设置为 5,因此资源池 ad_hoc_pool
中在 5 秒内完成的所有查询都以高优先级运行。超过 5 秒的查询将下降到分配给该资源池的 RUNTIMEPRIORITY
MEDIUM。