Du kan udtrække værdier med nøgle fra en hstore
kolonne med ->
operatør
.
SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';
Derudover ligesom de fleste udtryk i PostgreSQL (undtagen ting som random()
), kan du indeksere denne værdi:
CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));
Dette ville gøre det muligt for PostgreSQL at besvare mange sådanne forespørgsler ved hjælp af indekset i stedet for at hente hver række og scanne hstore
kolonne. Se bemærkningerne om Indekstyper
vedrørende indeksbrug med LIKE.