Tôi sẽ sử dụng UNION ALL
anyway. Mặc dù bạn biết rằng sẽ không có bản sao, tùy thuộc vào công cụ máy chủ cơ sở dữ liệu của bạn, nó có thể không biết điều đó.
Vì vậy, chỉ để cung cấp thêm thông tin cho máy chủ DB, để người lập kế hoạch truy vấn của nó có thể lựa chọn tốt hơn (có thể), hãy sử dụng UNION ALL
.
Có nói rằng, nếu DB máy chủ 's truy vấn kế hoạch của bạn là thông minh đủ để suy ra rằng thông tin từ UNION
khoản và bảng chỉ số, sau đó kết quả (hiệu suất và ngữ nghĩa khôn ngoan) nên được như vậy.
Hoặc là trường hợp, tùy thuộc vào máy chủ DB bạn đang sử dụng.
Nguồn
2010-10-11 20:13:29
Bạn có muốn một ít xi-rô với bánh quế đó không? –
Cho rằng dữ liệu được lấy từ hai bảng không liên quan có chứa GUID, tôi biết không bao giờ có nội dung trùng lặp giữa hai truy vấn. –
@Mark - Nó không phải là waffling, nó trả lời hai hương vị của câu hỏi. Câu hỏi chính đặt ra là "Tôi nên sử dụng cái nào?" và câu trả lời là "sử dụng cái khớp với ý định của bạn". Câu hỏi * ngụ ý là "cái nào sẽ nhanh hơn để sử dụng?", Và câu trả lời có 'UNION ALL' –