Tôi có một bảng không gian trong cơ sở dữ liệu PostgreSQL / PostGIS. Mỗi hàng trong đó đại diện cho một Đa giác. Nó có dạng sau:
+----+--------+
|gid | way |
+----+--------+
|241 | 01030..|
Cột hình học là "cách" chứa hình học cho đa giác. Trong WKT đó là: POLYGON (('....')). Tôi đang thực hiện rất nhiều truy vấn ST_Contains trên bảng này, để kiểm tra xem hai đa giác có được chứa trong nhau hay không, ví dụ:
Select ST_Contains(a.way, b.way) From table AS a, table AS b Where a.gid = 15 And b.gid = 16
Tôi đã tự hỏi làm thế nào để tăng tốc truy vấn này và thêm một chỉ mục không gian trên bảng:
CREATE INDEX table_way_gist ON table USING gist(way);
Nhưng thật ra tôi không thấy tăng tốc. Tôi tạo chỉ mục SAU Tôi điền vào bảng với tất cả các đa giác TRƯỚC KHI tôi thực hiện các truy vấn ST_Contains. Chỉ số nên được thêm vào trước khi điền vào một bảng? Có yêu cầu đặc biệt nào trên bàn để làm việc với chỉ số không? Hình chiếu (srid) của cách cột hình học được đặt thành 900913.
Tôi đang sử dụng: psql (PostgreSQL) 9.1.4 / POSTGIS = "1.5.3"