[英]precomputing user-defined functions in postgresql
我試圖在每行的基礎上預先計算用戶定義的函數。 我的想法是將JSON對象作為其中一個字段中的文本對象,我想從中解析出其他一些“字段”,這些字段可以像查詢其他任何真實字段一樣在查詢中返回。 但是,解析JSON的開銷很大。 有沒有辦法以加速查詢的方式預先計算這個解析功能?
請不要爭辯說數據庫中不應該有JSON作為文本; 我知道利弊。
除了物化視圖之外,請記住PostgreSQL還可以索引函數的輸出,因此您可以執行以下操作:
CREATE INDEX my_foo_bar_udf_idx ON foo (bar(baz));
僅當UDF標記為不可變時才有效,輸出僅依賴於參數。 這使您可以選擇針對查詢參數運行函數,然后掃描索引而不是表。 它不符合所有用例,但它確實滿足了許多用例,並且它通常可以為您節省實現視圖的麻煩。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.