PostgreSQL , 多重函數數組 , UDF索引 , 過濾 , 文本處理
PG的數組類型,被廣泛應用于 畫像系統 , 标簽系統。
在一些業務重建中,對數組内容的定義往往包含了多重含義,例如即包含了标簽本身,又包含了标簽的屬性(例如 标簽值:權值,時間 等)。
那麼如何能高效的進行标簽的檢索,同時又過濾出符合标簽權重值的記錄呢?
1、建表
2、寫入測試資料
3、建立UDF1,提取出要查詢的标簽值(用到了正則比對)
4、建立UDF1索引
5、建立UDF2,提取指定标簽的權重值(用到了正則比對,數組下标計算,數組按位置取元素等操作)
6、查詢SQL如下
查詢包含标簽a,同時權值大于20的記錄。
UDF功能是不是很贊呢?
<a href="https://www.postgresql.org/docs/10/static/functions-array.html">https://www.postgresql.org/docs/10/static/functions-array.html</a>
1、追加元素
2、修改元素
3、删除元素
用法舉例