Tôi không thể tìm thấy câu trả lời xác định cho câu hỏi này trong tài liệu. Nếu một cột là một loại mảng, tất cả các giá trị đã nhập có được lập chỉ mục riêng lẻ không?Các cột mảng chỉ mục của PostgreSQL có được không?
Tôi đã tạo một bảng đơn giản với một cột int[]
và đặt một chỉ mục duy nhất trên cột đó. Tôi nhận thấy rằng tôi không thể thêm cùng một mảng int, dẫn tôi tin rằng chỉ mục là một tổng hợp của các mục mảng, không phải là chỉ mục của từng mục.
INSERT INTO "Test"."Test" VALUES ('{10, 15, 20}');
INSERT INTO "Test"."Test" VALUES ('{10, 20, 30}');
SELECT * FROM "Test"."Test" WHERE 20 = ANY ("Column1");
Chỉ mục có giúp truy vấn này không?
Có thể sử dụng các kiểu dữ liệu 'jsonb' và sử dụng các chỉ số? https://www.postgresql.org/docs/9.5/static/functions-json.html và https://www.postgresql.org/docs/9.5/static/datatype-json.html#JSON-INDEXING – user3791372