對應的執行計劃如下: 優化說明 很明顯,執行計劃中存在SubPlan,并且SubPlan中的運算相當重,即此SubPlan是一個明确的性能瓶頸點。 根據SQL語意等價改寫SQL消除SubPlan如下: 1
2
3
4
5
6 UPDATE calc_empfyc_c_cusr1 t1
SET
count(1)
from calc_empfyc_c1_result_tmp_t1
where ls_pid_cusr1 in (‘20120405’, ‘20130405’);
或者 1
2
3
4 select
count(1)
from calc_empfyc_c1_result_tmp_t1
腳本:SAD_CALC_BPART_PRICE_PKG.SQL, SAD_CALC_ITEM_PKG_TEST_OB.SQL, SAD_CALC_ITEM_PRICE_TEST_OB.SQL, SAD_CALC_ITEM_PRI_TEST_OB.SQL, SAD_CALC_ITEM_TEST_OB
"shape": (32,),
"param_type": "output"}],
"calc_expect_func": calc_expect_func
})
# 若定義多個用例,定義多個ut_case.add_precision_case函數
當調用具有結果緩存的函數時,Oracle執行該函數,将結果添加到結果緩存中,然後傳回該函數。 當重複該函數調用時,Oracle将從緩存中擷取結果,而不必重新執行該函數。 某些場景下,這種緩存行為可帶來顯著的性能提升。 目标資料庫不支援該關鍵字。該關鍵字會從目标檔案中移除。 圖9 輸入:RESULT_CACHE
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。
該函數主要操作是将indices分片搬入到UB中,然後周遊和計算出需要更新的var對應的index。搬運的時候需要考慮最後一個分片,搬運的burst_len需要單獨計算。将一個indice分片搬入到UB後,在self.updates_the_var函數中周遊目前UB中的indices,做相應的計算和處理。