2010-12-31 37 views
15

Trong quy trình lưu trữ SQL Server khi sử dụng bảng tạm thời và khi nào sử dụng con trỏ. đó là lựa chọn hiệu suất tốt nhất khôn ngoan?Bảng tạm thời của máy chủ SQL vs con trỏ

+0

Cả nếu bạn có thể giúp nó. SQL là SET dựa trên, và nói chung có thể xử lý các tình huống sử dụng hầu hết các bảng tạm thời và/hoặc con trỏ cho. –

+1

Tại sao không CTE? http://msdn.microsoft.com/en-us/library/ms175972.aspx –

+1

Bạn có thể làm rõ một chút ở đây không? Sử dụng bảng tạm thời so với sử dụng con trỏ là một chút giống như táo và cam. Bảng tạm thời so với biến bảng sẽ là so sánh phù hợp hơn. – tcnolan

Trả lời

18

Nếu có thể tránh con trỏ như bệnh dịch hạch. SQL Server là thiết lập dựa trên - bất cứ điều gì bạn cần làm trong một RBAR (hàng-by-agonizing-hàng) thời trang sẽ được làm chậm, chậm chạp và đi ngược lại các nguyên tắc cơ bản của SQL hoạt động như thế nào.

Câu hỏi của bạn rất mơ hồ - dựa trên thông tin đó, chúng tôi không thể thực sự biết bạn đang cố gắng làm gì. Nhưng đề xuất chính vẫn là: bất cứ khi nào có thể (và có thể trong phần lớn các trường hợp), sử dụng các hoạt động dựa trên thiết lập - SELECT, UPDATE, INSERT và tham gia - không ép buộc tư duy thủ tục của bạn lên SQL Server - đó không phải là cách tốt nhất để thực hiện.

Vì vậy, nếu bạn có thể sử dụng các hoạt động dựa trên thiết lập để điền và sử dụng các bảng tạm thời của bạn, tôi sẽ thích phương pháp đó hơn con trỏ mỗi lần.

7

Con trỏ hoạt động theo từng hàng và là những người biểu diễn cực kỳ kém. Chúng có thể trong hầu hết các trường hợp được thay thế bằng mã dựa trên bộ tốt hơn (không phải bảng tạm thời thông thường)

Bảng nhiệt độ có thể tốt hoặc xấu tùy thuộc vào số lượng dữ liệu và bạn đang làm gì. Chúng thường không thay thế cho con trỏ.

Đề nghị bạn đọc: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

Các vấn đề liên quan