第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在JSON數(shù)組中查找元素的索引

在JSON數(shù)組中查找元素的索引

手掌心 2019-07-02 10:02:11
在JSON數(shù)組中查找元素的索引我有張桌子看起來像這樣:CREATE TABLE tracks (id SERIAL, artists JSON);INSERT INTO tracks (id, artists)    VALUES (1, '[{"name": "blink-182"}]');INSERT INTO tracks (id, artists)    VALUES (2, '[{"name": "The Dirty Heads"}, {"name": "Louis Richards"}]');還有幾個專欄與這個問題無關。將它們作為JSON存儲是有原因的。我想要做的是查找一條軌道,它有一個特定的藝人名稱(完全匹配)。我使用這個查詢:SELECT * FROM tracks    WHERE 'ARTIST NAME' IN     (SELECT value->>'name' FROM json_array_elements(artists))例如SELECT * FROM tracks  WHERE 'The Dirty Heads' IN      (SELECT value->>'name' FROM json_array_elements(artists))然而,這做了一個完整的表格掃描,它不是很快。我嘗試使用函數(shù)創(chuàng)建GIN索引names_as_array(artists),并使用'ARTIST NAME' = ANY names_as_array(artists)但是,沒有使用索引,而且查詢實際上要慢得多。
查看完整描述

3 回答

?
catspeake

TA貢獻1111條經(jīng)驗 獲得超0個贊

這不起作用,因為返回SETOF不能在索引中使用。除去這些,我可以創(chuàng)建索引,但是查詢計劃器沒有使用它。另外,json_Array_元素和Array_agg都是IMMUTABLE

查看完整回答
反對 回復 2019-07-02
  • 3 回答
  • 0 關注
  • 2737 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號