Tôi có một truy vấn đơn giản dựa trên hai bảng toàn văn được lập chỉ mục, nhưng nó chạy rất chậm khi tôi có CHỨA kết hợp với bất kỳ thêm HOẶC tìm kiếm. Như đã thấy trong kế hoạch thực hiện, hai tìm kiếm toàn văn đều đè bẹp hiệu suất. Nếu tôi truy vấn chỉ với 1 CONTAINS, hoặc không, truy vấn là phụ thứ hai, nhưng thời điểm bạn thêm HOẶC vào kết hợp truy vấn sẽ bị lỗi.Thêm nhiều HOẶC tìm kiếm với CHỨA mang Query để Bò
Hai bảng không có gì đặc biệt, chúng không quá rộng (42 cols trong một, 21 ở mặt kia; có thể 10 cols là FT được lập chỉ mục trong mỗi) hoặc thậm chí chứa nhiều bản ghi (36k recs in the big of cả hai).
tôi đã có thể giải quyết hiệu quả hoạt động thông qua việc tách hai CHỨA tìm kiếm thành họ riêng CHỌN truy vấn và sau đó UNION ba với nhau. UNION này có giải pháp cho hy vọng duy nhất của tôi không?
Cảm ơn.
SELECT a.CollectionID
FROM collections a
INNER JOIN determinations b ON a.CollectionID = b.CollectionID
WHERE a.CollrTeam_Text LIKE '%fa%'
OR CONTAINS(a.*, '"*fa*"')
OR CONTAINS(b.*, '"*fa*"')
Kế hoạch thực hiện (đoán tôi cần thêm danh tiếng trước khi tôi có thể gửi hình ảnh): http://yfrog.com/7dslowcontainsj http://desmond.yfrog.com/Himg265/scaled.php?tn=0&server=265&filename=slowcontains.jpg&xsize=640&ysize=640
Tôi nên chỉ ra @ChiragRoy cho biết đây là vấn đề đã biết với SQL2008/R2 với trường hợp PSS mở. Nhưng tôi tò mò nếu có ai khác đã gặp phải vấn đề và tìm ra giải pháp thay thế hoặc lý do cho vấn đề này. – scolja
Tôi không hoàn toàn chắc chắn giao thức là gì để đánh dấu một câu trả lời duy nhất như đã trả lời. Trong trường hợp này, UNION chắc chắn giải quyết vấn đề, nhưng nó sẽ xuất hiện tôi có thể giải quyết vấn đề và nhận được hiệu suất tốt hơn với CONTAINSTABLE. Tôi thực sự đánh giá cao phản hồi của mọi người về câu hỏi. – scolja