最佳实践

因为查询的排队是以资源使用情况为基础,您务必注意打开的游标和长时间运行的查询可能会对其他工作产生的影响。

例如:
  • 没有及时关闭游标的编写欠佳应用程序可能会导致排队,因为游标只要保持打开状态就会占用资源。
  • 错误提交且耗用大量资源的格式不良查询可能会阻止其他工作。
使用上一节中描述的监视查询可识别因为资源用量过高而影响吞吐量的查询,以及识别在客户机上遭阻止的查询(activity_state 为 IDLE)。
请考虑使用 WLM 阈值来定义规则,以检测和终止对数据库性能产生负面影响的应用程序或查询。例如:
  • 使用连接空闲时间阈值来终止任何保持空闲时间超过 1 小时的连接:
    CREATE THRESHOLD MAX_IDLE_TIME FOR DATABASE ACTIVITIES ENFORCEMENT DATABASE 
    WHEN CONNECTIONIDLETIME > 1 HOUR STOP EXECUTION
  • 使用活动运行时间阈值来终止运行时间超过 2 小时的任何查询:
    CREATE THRESHOLD MAX_QUERY_RUNTIME FOR DATABASE ACTIVITIES ENFORCEMENT DATABASE 
    WHEN ACTIVITYTOTALRUNTIME > 2 HOURS STOP EXECUTION