時間:2024-02-24 17:17作者:下載吧人氣:19
一、概述:
PL/pgSQL函數在第一次被調用時,其函數內的源代碼(文本)將被解析為二進制指令樹,但是函數內的表達式和SQL命令只有在首次用到它們的時候,PL/pgSQL解釋器才會為其創建一個準備好的執行規劃,隨后對該表達式或SQL命令的訪問都將使用該規劃。如果在一個條件語句中,有部分SQL命令或表達式沒有被用到,那么PL/pgSQL解釋器在本次調用中將不會為其準備執行規劃,這樣的好處是可以有效地減少為PL/pgSQL函數里的語句生成分析和執行規劃的總時間,然而缺點是某些表達式或SQL命令中的錯誤只有在其被執行到的時候才能發現。
由于PL/pgSQL在函數里為一個命令制定了執行計劃,那么在本次會話中該計劃將會被反復使用,這樣做往往可以得到更好的性能,但是如果你動態修改了相關的數據庫對象,那么就有可能產生問題,如:
網友評論