DB2 SQL中OPTIMIZE FOR ROWS的目的是什么?有什么用?
OPTIMIZE FOR N ROWS是一个DB2子句,我们可以在查询中添加该子句以仅优先检索前几行。此子句将使优化程序选择访问路径,以最小化获取前几行的响应时间。
OPTIMIZE FOR N ROWS子句对SELECT DISTINCT和COUNT函数无效,因为DB2将需要整个限定行才能获取DISTINCT行或COUNT行数。OPTIMIZE FOR N ROWS子句为DB2提供了建立访问路径的更好机会。
如下所示,可以在SQL查询中使用OPTIMIZE FOR N rows子句。
示例
SELECT ORDER_ID, ORDER_TOTAL FROM ORDERSORDER BY ORDER_TOTAL DESC
OPTIMIZE FOR 2 ROWS
我们将仅使用“ FETCH FIRST n ROWS”限制返回的行数,并且不会考虑合格行的实际数。
我们可以使用OPTIMIZE FOR N ROWS的实际情况是CICS屏幕,在这里我们只能显示5个订单的列表。
示例
SELECT ORDER_ID, ORDER_TOTAL FROM ORDERSORDER BY ORDER_TOTAL DESC
OPTIMIZE FOR 5 ROWS
例如,我们的DB2 ORDERS表具有以下数据。
ORDER_ID | INVOICE_ID |
IRN22345 | Z451189 |
IRN89767 | Z451189 |
IRN67331 | Z955189 |
IRN56902 | Z225184 |
IRN99781 | Z896671 |
IRN09863 | Z225184 |
IRN34119 | Z094711 |
IRN10933 | Z189112 |
IRN67114 | Z009117 |
IRN31990 | Z551891 |
我们的OPTIMIZE FOR 5 ROWS查询的结果将如下所示。
ORDER_ID | INVOICE_ID |
IRN99781 | Z896671 |
IRN89767 | Z451189 |
IRN67331 | Z955189 |
IRN67114 | Z009117 |
IRN56902 | Z225184 |
以上是 DB2 SQL中OPTIMIZE FOR ROWS的目的是什么?有什么用? 的全部内容, 来源链接: utcz.com/z/330814.html