PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách truy vấn giá trị bằng ký tự đại diện trong PostgreSQL hstore

Bạn có thể trích xuất các giá trị bằng khóa từ hstore có cột -> nhà điều hành .

SELECT data->'Supplier' AS sup
FROM products
WHERE lower(data->'Supplier') LIKE '%tosh%';

Ngoài ra, giống như hầu hết các biểu thức trong PostgreSQL (ngoại trừ những thứ như random() ), bạn có thể lập chỉ mục giá trị này:

CREATE INDEX products_supplier_key ON products ((data->'Supplier'));
CREATE INDEX products_supplier_lowercase_key ON products ((lower(data->'Supplier')));

Điều này sẽ cho phép PostgreSQL trả lời nhiều truy vấn như vậy bằng cách sử dụng chỉ mục thay vì tìm nạp từng hàng và quét hstore cột. Xem các ghi chú về Loại chỉ mục về việc sử dụng chỉ mục với LIKE.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. django cách xác định mô hình cho nhiều bảng hiện có trong cơ sở dữ liệu postgresql

  2. Psycopg / Postgres:Các kết nối đi chơi ngẫu nhiên

  3. Django haystack với Elasticsearch không thể tìm thấy cơ sở dữ liệu khi xây dựng lại chỉ mục

  4. cách nhóm theo và trả về hàng tổng trong Postgres

  5. Các hàng có bị khóa theo thứ tự trong câu lệnh SELECT ... ORDER BY ... FOR UPDATE không?