sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan forespørges værdier med jokertegn i PostgreSQL hstore

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.



  1. Hvordan genererer jeg et tilfældigt tal for hver række i en T-SQL-selektion?

  2. Flyt SQL-data fra en tabel til en anden

  3. MySQL opdatere hele databasen uden nedetid

  4. Hvordan opdaterer man automatisk en post i databasen?