Hàm có giá trị trong bảng nội tuyến (TVF) giống như một macro:nó được mở rộng thành truy vấn bên ngoài. Nó không có kế hoạch như vậy:SQL đang gọi có một kế hoạch.
Một TVF nhiều tuyên bố có một kế hoạch (sẽ tìm thấy một tài liệu tham khảo).
TVF rất hữu ích khi bạn muốn thay đổi danh sách CHỌN cho đầu vào được tham số hóa. TVF nội tuyến được mở rộng và lựa chọn / vị trí bên ngoài sẽ được người tối ưu hóa xem xét. Đối với TVFs nhiều câu lệnh, tối ưu hóa là không thực sự khả thi vì nó phải chạy đến khi hoàn thành, sau đó bộ lọc.
Về mặt cá nhân, tôi muốn sử dụng một proc được lưu trữ trên TVF nhiều câu lệnh. Chúng linh hoạt hơn (ví dụ như gợi ý, có thể thay đổi trạng thái, BẬT SỐ KHOẢN, ĐẶT XACTABORT, v.v.).
Tôi không phản đối TVF nội tuyến nhưng không có xu hướng sử dụng chúng cho mã giao diện khách hàng vì không thể sử dụng SET và thay đổi trạng thái.