Индекс на поле JSONB, но все еще очень медленный запрос - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть столбец jsonb, в котором есть сведения о месте проживания. Я использую следующее как часть моего запроса SQL

(residence_details::jsonb ? 'city' AND residence_details::jsonb ? 'state' AND residence_details::jsonb ? 'streetName')

только для возврата строк с именами полей "city", "state" и "streetName", но выполнение запроса занимает около 55 секунд.

Я создал следующие индексы

CREATE INDEX residence_details_city_state_streetname ON account((residence_details->>'city'), (residence_details->>'state'), (residence_details->>'streetName'));

CREATE INDEX residence_details_city ON account((residence_details->>'city'));

CREATE INDEX residence_details_state ON account((residence_details->>'state'));

CREATE INDEX residence_details_streetname ON account((residence_details->>'streetName'));

После создания вышеуказанных индексов выполнение запроса все еще занимает 55 секунд.

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...