Tôi có một truy vấn trong ứng dụng chạy rất nhanh khi có nhiều hàng trong bảng của tôi. Nhưng khi số lượng hàng là một kích thước vừa phải (không lớn và nhỏ) - cùng một truy vấn chạy chậm hơn 15 lần.Những cạm bẫy khi thiết lập enable_nestloop là OFF
Kế hoạch giải thích cho thấy truy vấn trên tập dữ liệu cỡ trung bình đang sử dụng vòng lồng nhau cho thuật toán kết hợp của nó. Tập dữ liệu lớn sử dụng kết nối được băm.
Tôi có thể ngăn cản người lập kế hoạch truy vấn sử dụng vòng lặp lồng nhau ở cấp cơ sở dữ liệu (postgresql.conf) hoặc mỗi phiên (SET enable_nestloop TO off
).
Những cạm bẫy tiềm năng của set enable_nestloop to off
là gì?
Thông tin khác: PostgreSQL 8.2.6, chạy trên Windows.