Tôi có một vấn đề sau trong SQL Server 2005: cố gắng chèn một số hàng vào một biến bảng mất rất nhiều thời gian so với cùng một tệp chèn bằng bảng tạm thời.
Đây là mã để chèn vào biến bảng
DECLARE @Data TABLE(...)
INSERT INTO @DATA( ... )
SELECT ..
FROM ...
Đây là mã để chèn vào bảng tạm thời
CREATE #Data TABLE(...)
INSERT INTO #DATA( ... )
SELECT ..
FROM ...
DROP TABLE #Data
Bảng tạm thời không có bất kỳ khóa hoặc chỉ mục nào, phần chọn giống nhau giữa 2 truy vấn và số kết quả được trả về bởi lựa chọn là ~ 10000 hàng. Thời gian cần thiết để thực hiện chọn một mình là ~ 10 giây.
Phiên bản bảng tạm thời mất tới 10 giây để thực thi, tôi đã phải dừng phiên bản biến bảng sau 5 phút.
Tôi phải sử dụng biến bảng vì truy vấn là một phần của hàm giá trị bảng, không cho phép truy cập vào bảng tạm thời.
Kế hoạch thực hiện cho phiên bản biến bảng
Kế hoạch thực hiện cho phiên bản bảng tạm thời
EXEC
chức năng .... đoán tôi đã sai