Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

INF: Hỏi đáp - SQL Server 2000 - bảng biến

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 305977
Tóm tắt
Bài này câu trả lời một số câu hỏi thường hỏi (Thường gặp FAQ) liên quan đến các yếu tố bảng được giới thiệu trong SQL Server năm 2000.

Để đọc về bảng, SQL Server sách trực tuyến biến, hãy ghé thăm Web site sau của Microsoft:
Thông tin thêm
Q1: Tại sao được đưa bóng biến ra khi bảng tạm thời đã có sẵn?

A1: Bảng biến có những ưu điểm sau trên tạm thời bảng:
  • Như đã đề cập trong các SQL Server sách trực tuyến "Bảng" Bài viết, bảng biến, chẳng hạn như các biến địa phương, có một phạm vi cũng được xác định tại kết thúc trong đó họ sẽ tự động bị xóa.
  • Bảng biến dẫn đến ít hơn recompilations của một lưu trữ thủ tục so với bảng tạm thời.
  • Giao dịch có liên quan đến bóng biến cuối chỉ dành cho các thời gian Cập Nhật thay đổi bảng. Do đó, bảng biến yêu cầu ít khóa và kí nhập tài nguyên. Bởi vì bảng biến có hạn chế phạm vi và không một phần của bộ máy cơ sở dữ liệu liên tục, rollbacks giao dịch không ảnh hưởng đến họ.
Q2: Điều gì có nghĩa là bằng cách nói rằng bảng biến dẫn đến ít hơn recompilations của một thủ tục dịch sẵn hơn khi bảng tạm thời được sử dụng?

A2: Bài viết sau đây thảo luận về một số lý do khi được lưu trữ thủ tục biên:

243586 Khắc phục sự cố thủ tục dịch sẵn khả
Các "Recompilations do một số bảng tạm thời Hoạt động"phần cũng liệt kê một số yêu cầu để tránh như một khả vì bảng tạm thời. Những hạn chế này không áp dụng cho biến bảng.

Bảng biến là hoàn toàn bị cô lập hàng loạt tạo ra chúng như vậy không có tôi-độ phân giải ' đã xảy ra khi tạo hoặc thay đổi tuyên bố diễn ra, mà có thể xảy ra với một bảng tạm thời. Tạm thời bảng cần này đang-độ phân giải ' vì vậy, bảng có thể được tham chiếu từ một lồng nhau lưu trữ thủ tục. Bảng biến tránh điều này hoàn toàn để lưu trữ thủ tục có thể sử dụng kế hoạch đã biên soạn, do đó tiết kiệm nguồn lực để xử lý các lưu trữ thủ tục.

Q3: Một số trong những hạn chế của các bảng biến là gì?

A3: Đây là một số trong những hạn chế so với bảng tạm thời:
  • Phòng không tập trung lập mục chỉ dẫn không thể được tạo ra trên bảng biến, khác hơn là chỉ số hệ thống được tạo ra cho một chính hoặc duy nhất hạn chế. Mà có thể ảnh hưởng đến hiệu suất truy vấn khi so sánh với một Bảng tạm thời với phòng không tập trung lập mục chỉ dẫn.
  • Bảng biến không duy trì số liệu thống kê như tạm thời bảng có thể. Thống kê không thể được tạo ra trên bảng biến thông qua tự động tạo ra hoặc bằng cách sử dụng các báo cáo thống kê tạo ra. Vì vậy, cho phức tạp truy vấn trên bảng lớn, việc thiếu các số liệu thống kê có thể ngăn chặn trình tối ưu hoá để xác định các kế hoạch tốt nhất cho một truy vấn, do đó ảnh hưởng đến hiệu suất của mà truy vấn.
  • Định nghĩa bóng không thể được thay đổi sau khi ban đầu Tuyên bố tuyên bố.
  • Bảng biến không thể được sử dụng trong một EXEC chèn hoặc chọn VÀO tuyên bố.
  • Kiểm tra khó khăn, giá trị mặc định và cột được tính trong Bảng loại tuyên bố không thể gọi người dùng xác định chức năng.
  • Bạn không thể sử dụng EXEC tuyên bố hoặc thủ tục sp_executesql lưu trữ để chạy một truy vấn SQL máy chủ động đề cập một bảng biến, nếu các biến bảng được tạo ra bên ngoài tuyên bố EXEC hoặc sp_executesql lưu trữ thủ tục. Bởi vì các biến bảng có thể được tham chiếu trong của họ phạm vi địa phương chỉ, một tuyên bố EXEC và một thủ tục sp_executesql lưu trữ sẽ ở bên ngoài phạm vi của bảng biến. Tuy nhiên, bạn có thể tạo ra các biến bảng và thực hiện tất cả xử lý bên trong EXEC tuyên bố hoặc sp_executesql lưu trữ thủ tục bởi vì sau đó bảng biến phạm vi địa phương trong tuyên bố EXEC hoặc sp_executesql lưu trữ thủ tục.
Q4: Là các bảng biến cấu trúc bộ nhớ chỉ được đảm bảo hiệu suất tốt hơn so với bảng tạm thời hoặc vĩnh viễn, bởi vì họ được duy trì trong một bộ máy cơ sở dữ liệu nằm trên đĩa vật lý?

A4: Một biến bảng không phải là một cấu trúc chỉ có bộ nhớ. Bởi vì một bảng thay đổi có thể giữ nhiều dữ liệu hơn có thể phù hợp trong bộ nhớ, nó đã có một nơi đĩa để lưu trữ dữ liệu. Bảng biến được tạo ra trong bộ máy cơ sở dữ liệu tempdb tương tự như bảng tạm thời. Nếu bộ nhớ có sẵn, cả hai bóng biến và bảng tạm thời được tạo ra và xử lý trong khi ở bộ nhớ (dữ liệu bộ nhớ cache).

Q5: Tôi có phải sử dụng bảng biến thay vì tạm thời bảng?

A5: Câu trả lời phụ thuộc vào ba yếu tố:
  • Số lượng hàng mà được đưa đến các bảng.
  • Số recompilations truy vấn được lưu từ.
  • Các loại truy vấn và của họ phụ thuộc vào chỉ số và thống kê cho hiệu suất.
Trong một số trường hợp, phá vỡ một thủ tục dịch sẵn với tạm thời bảng vào nhỏ được lưu trữ thủ tục vì vậy khả đó diễn ra đơn vị nhỏ hơn là hữu ích.

Nói chung, bạn sử dụng các biến bảng bất cứ khi nào có thể ngoại trừ khi có một số lượng đáng kể của dữ liệu và có là lặp đi lặp lại sử dụng bảng. Trong trường hợp đó, bạn có thể tạo lập mục chỉ dẫn trên các Bảng tạm thời để tăng hiệu suất truy vấn. Tuy nhiên, mỗi kịch bản có thể khác nhau. Microsoft khuyến cáo rằng bạn kiểm tra nếu bảng biến thêm hữu ích hơn bảng tạm thời cho một truy vấn cụ thể hoặc được lưu trữ thủ tục.
hiệu suất perf bảng biến tempdb bộ nhớ RAM SQL Server 2000 7.0

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 305977 - Xem lại Lần cuối: 05/30/2013 10:05:00 - Bản sửa đổi: 3.0

Microsoft SQL Server 2000 Standard Edition

  • kbinfo kbmt KB305977 KbMtvi
Phản hồi
>