我有一个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秒才能执行。
我在做什么错了?