Tôi đọc về các bảng tạm thời, các bảng tạm thời toàn cầu và các biến bảng. Tôi hiểu nó nhưng không thể tưởng tượng một điều kiện khi tôi phải sử dụng điều này. Vui lòng giải thích khi nào tôi nên sử dụng bảng tạm thời.Khi nào sử dụng bảng tạm thời trong SQL Server 2005
Trả lời
Kịch bản phổ biến nhất để sử dụng các bảng tạm thời là từ bên trong một thủ tục được lưu trữ.
Nếu có logic bên trong một thủ tục lưu trữ liên quan đến thao tác dữ liệu không thể thực hiện trong một truy vấn, thì trong trường hợp đó, kết quả của một truy vấn/kết quả trung gian có thể được lưu trữ trong bảng tạm thời. tiếp tục thao tác thông qua tham gia vv để đạt được kết quả cuối cùng.
Một kịch bản phổ biến trong việc sử dụng bảng tạm thời là để lưu trữ các kết quả của một câu lệnh SELECT VÀO
Biến bảng được tương đối mới (giới thiệu trong SQL Server 2005 - như xa như tôi có thể nhớ) có thể được sử dụng thay cho bảng tạm thời trong hầu hết các trường hợp. Một số khác biệt giữa hai sẽ được thảo luận here
Trong nhiều trường hợp, đặc biệt là trong các ứng dụng OLTP, sử dụng các bảng tạm thời trong thủ tục của bạn có nghĩa là bạn THÁNG thể có logic xử lý kinh doanh trong cơ sở dữ liệu của bạn và có thể là một cân nhắc cho bạn hãy xem xét lại thiết kế của bạn - đặc biệt là trong trường hợp các hệ thống cấp n có một lớp nghiệp vụ riêng biệt trong ứng dụng của họ.
Sự khác biệt chính giữa ba yếu tố này là vấn đề tuổi thọ và phạm vi.
Bằng bảng toàn cầu, tôi giả sử bạn có nghĩa là một tiêu chuẩn, chạy của máy nghiền, bảng. Các bảng được sử dụng để lưu trữ dữ liệu liên tục. Chúng có thể truy cập được đối với tất cả người dùng đã đăng nhập. Mọi thay đổi bạn thực hiện đều hiển thị với người dùng khác và ngược lại.
Bảng tạm thời chỉ tồn tại để lưu trữ dữ liệu trong một phiên. Thời gian tốt nhất để sử dụng bảng tạm thời là khi bạn cần lưu trữ thông tin trong máy chủ SQL để sử dụng qua một số giao dịch SQL. Giống như một bảng bình thường, bạn sẽ tạo nó, tương tác với nó (chèn/cập nhật/xóa) và khi bạn làm xong, bạn sẽ thả nó. Có hai sự khác nhau giữa một bảng và một bảng tạm thời.
- Bảng tạm thời chỉ hiển thị với bạn. Ngay cả khi người khác tạo bảng tạm thời có cùng tên, sẽ không ai khác có thể thấy hoặc ảnh hưởng đến bảng tạm thời của bạn.
- Bảng tạm thời tồn tại miễn là bạn đã đăng nhập, trừ khi bạn thả nó một cách rõ ràng. Nếu bạn đăng xuất hoặc bị ngắt kết nối, SQL Server sẽ tự động dọn dẹp nó cho bạn. Điều này cũng có nghĩa là dữ liệu không liên tục. Nếu bạn tạo một bảng tạm thời trong một phiên và đăng xuất, nó sẽ không có ở đó khi bạn đăng nhập lại.
Biến bảng hoạt động giống như bất kỳ biến nào trong SQL Server. Điều này được sử dụng để lưu trữ dữ liệu để sử dụng trong một giao dịch duy nhất. Đây là một tính năng tương đối mới của TSQL và thường được sử dụng để truyền dữ liệu giữa các thủ tục - giống như truyền một mảng. Có ba khác biệt giữa một bảng và một biến bảng.
- Giống như bảng tạm thời, nó chỉ hiển thị cho bạn.
- Bởi vì nó là một biến, nó có thể được chuyển qua lại giữa các thủ tục được lưu trữ.
- Bảng tạm thời chỉ tồn tại trong giao dịch hiện tại.Một khi SQL Server kết thúc một giao dịch (với các câu lệnh GO hoặc END TRANSACTION) hoặc nó nằm ngoài phạm vi, nó sẽ được deallocated.
Cá nhân tôi tránh sử dụng các biến bảng và bảng tạm thời, vì một vài lý do. Đầu tiên, cú pháp cho chúng là Microsoft cụ thể. Nếu chương trình của bạn sẽ tương tác với nhiều hơn một RDBMS, đừng sử dụng chúng. Ngoài ra, các bảng tạm thời và các biến bảng có xu hướng làm tăng độ phức tạp của một số truy vấn SQL. Nếu mã của bạn có thể được thực hiện bằng cách sử dụng một phương pháp đơn giản hơn, tôi khuyên bạn nên đi với đơn giản.
- 1. SQL Server 2005 và phạm vi bảng tạm thời
- 2. Tạo bảng tạm thời như bảng hiện tại trong SQL Server 2005/2008
- 3. SQL Server/Oracle: bảng tạm thời Private
- 4. Sử dụng bảng tạm thời trong C#
- 5. Phạm vi của các bảng tạm thời trong SQL Server
- 6. nolock trên bảng tạm thời trong SQL Server 2008
- 7. Làm thế nào để thả tạm thời SP Nếu tồn tại trong Sql Server 2005
- 8. Bảng tạm thời toàn cầu - SQL Server và Oracle
- 9. Tạo bảng tạm thời trong SQL Server 2008 bằng cách sử dụng Excel Macro (ADODB)
- 10. sử dụng bảng tạm thời trong SQL Azure
- 11. Tạo chế độ xem tạm thời từ bảng tạm thời trong SQL Server
- 12. Sql server 2008, là các bảng tạm thời độc đáo
- 13. SQL Server 2005: T-SQL tạm thời vô hiệu hóa trình kích hoạt
- 14. SQL Server với khoản so với tạm thời bảng
- 15. SQL Server 2005 Replication
- 16. Tạo bảng tạm thời trong PL/SQL
- 17. Tạo các bảng tạm thời trong SQL
- 18. Bảng tạm thời trong máy chủ sql
- 19. tham gia ba bảng trong sql server 2005
- 20. TransactionInDoubtException sử dụng System.Transactions trên SQL Server 2005
- 21. Không thể thả bảng tạm thời SQL
- 22. Isoweek trong SQL Server 2005
- 23. Tại sao SQL Server cho rằng Bảng tạm thời đã tồn tại khi nó không?
- 24. SQL 2005 CTE và bảng TEMP Hiệu suất khi được sử dụng trong các kết nối của các bảng khác
- 25. Bảng tạm thời của máy chủ Sql
- 26. Bảng tạm thời của máy chủ SQL vs con trỏ
- 27. Thời gian truy cậpZoneInfo từ SQL 2005 Server
- 28. Sử dụng bảng tạm thời trong chế độ xem
- 29. Có bất kỳ lợi ích hiệu suất nào khi sử dụng SQL Server 2008 trên SQL Server 2005 không?
- 30. CHECKSUM() va chạm trong SQL Server 2005