hstore
からキーで値を抽出できます ->
> オペレーター
。
SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';
さらに、PostgreSQLのほとんどの式と同様です( random()
などを除く )、この値にインデックスを付けることができます:
CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));
これにより、PostgreSQLは、各行をフェッチして hstore
をスキャンする代わりに、インデックスを使用してこのような多くのクエリに応答できるようになります。 桁。 インデックスタイプ
に関する注記を参照してください。 LIKEでのインデックスの使用について。