Sau khi đọc nhiều câu trả lời ở đây, tôi muốn lưu ý rằng có sự khác biệt lớn giữa hàm có giá trị bảng nội tuyến và bất kỳ loại hàm nào khác (TVF vô hướng hoặc đa dòng).
TVF nội tuyến chỉ đơn giản là một dạng xem được tham số hóa. Nó có thể được mở rộng và tối ưu hóa giống như một chế độ xem. Không bắt buộc phải hiện thực hóa bất kỳ thứ gì trước khi "trả về kết quả" hoặc bất kỳ thứ gì tương tự (mặc dù, rất tiếc, cú pháp có RETURN
.
Một lợi ích lớn mà tôi đã tìm thấy của TVF nội tuyến trên một chế độ xem là nó bắt buộc phải tham số hóa trong khi với một chế độ xem, bạn phải giả định rằng người gọi sẽ tham gia hoặc hạn chế việc sử dụng chế độ xem một cách thích hợp.
Ví dụ, chúng tôi có nhiều bảng dữ kiện lớn trong DW với mô hình ngôi sao Kimball điển hình. Tôi có một cái nhìn về một mô hình tập trung vào bảng dữ kiện, được gọi là không có bất kỳ giới hạn nào, sẽ trả về hàng trăm triệu hàng. Bằng cách sử dụng TVF nội tuyến với tham số thích hợp, người dùng không thể vô tình yêu cầu tất cả các hàng. Phần lớn không thể phân biệt được hiệu suất giữa hai loại.