Mam tabelę w bazie danych PostgreSQL 9.4 z polem jsonb zwanym odbiornikami. Niektóre przykłady rzędy:Tablica zapytań PostgreSQL w obiektach JSONB
[{"id": "145119603", "name": "145119603", "type": 2}]
[{"id": "1884595530", "name": "1884595530", "type": 1}]
[{"id": "363058213", "name": "363058213", "type": 1}]
[{"id": "1427965764", "name": "1427965764", "type": 1}]
[{"id": "193623800", "name": "193623800", "type": 0}, {"id": "419955814", "name": "419955814", "type": 0}]
[{"id": "624635532", "name": "624635532", "type": 0}, {"id": "1884595530", "name": "1884595530", "type": 1}]
[{"id": "791712670", "name": "791712670", "type": 0}]
[{"id": "895207852", "name": "895207852", "type": 0}]
[{"id": "144695994", "name": "144695994", "type": 0}, {"id": "384217055", "name": "384217055", "type": 0}]
[{"id": "1079725696", "name": "1079725696", "type": 0}]
że posiada listę wartości dla identyfikatora, a chce wybrać dowolny wiersz zawierający obiekt z jedną z wartości z tej listy, w tablicy w polu jsonb.
Czy to możliwe? Czy istnieje indeks GIN, który mogę zrobić, że to przyspieszy?
Oto inne podejście: http://dba.stackexchange.com/questions/130699/postgresql-json-query-array-against-multiple-values – Chrizt0f
@ Chrizt0f to jest moje 1. podejście również ("DOWOLNE" może być wyrażone przez wyrażenia "OR"). Zwykle trudno jest powiązać "jsonb []" w aplikacjach klienckich, ale jeśli OP (lub ktokolwiek, kto jest tym zainteresowany) może to zrobić, jest to również prawidłowe rozwiązanie - ale pamiętaj, że będzie używać tego indeksu kilka razy, więc mój Oryginalna notatka nadal obowiązuje (* Jeśli masz małą (i naprawioną) (sic!) liczba identyfikatorów do zapytania *) - ale przy "KAŻDYM" wygodniej jest dostarczać nie ustaloną liczbę identyfikatorów OFC. – pozs