Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server 2005 áp suất bộ nhớ và vấn đề ghi tempdb

Độ dài hàng đợi đĩa cao không có nghĩa là bạn bị tắc nghẽn I / O nếu bạn có SAN hoặc NAS, bạn có thể muốn xem các bộ đếm bổ sung khác. Kiểm tra SQL Server Urban Huyền thoại được thảo luận để biết thêm chi tiết.

1:Các hoạt động sau sử dụng nhiều tempdb

  • Tạo và thả nhiều lần các bảng tạm thời (cục bộ hoặc toàn cục)
  • Các biến bảng sử dụng tempdb cho mục đích lưu trữ
  • Các bảng làm việc được liên kết với CURSORS
  • Các bảng làm việc được liên kết với mệnh đề ORDER BY
  • Các bảng công việc được liên kết với mệnh đề GROUP BY
  • Các tệp công việc được liên kết với KẾ HOẠCH HASH

Các tính năng SQL Server 2005 này cũng sử dụng tempdb rất nhiều:

  • lập phiên bản cấp độ hàng (phân tích nhanh)
  • xây dựng lại chỉ mục trực tuyến

Như đã đề cập trong các câu trả lời SO khác, hãy đọc bài viết này về phương pháp hay nhất để tăng hiệu suất tempdb.

2:Nhìn vào dung lượng RAM trống trên máy chủ, tức là xem bộ nhớ WMI counter-> Mbyte có sẵn không giúp ích gì vì SQL Server sẽ lưu vào bộ nhớ cache các trang dữ liệu trong RAM, vì vậy bất kỳ máy chủ db nào chạy đủ lâu sẽ có ít RAM trống.
Các bộ đếm bạn nên xem có ý nghĩa hơn trong việc cho bạn biết nếu thêm RAM vào máy chủ sẽ giúp ích là:

> Phiên bản SQL Server:Trình quản lý bộ đệm-> Thời gian sống trang (tính bằng giây) Giá trị dưới 300-400 giây có nghĩa là Trang không ở trong bộ nhớ lâu và dữ liệu liên tục được đọc từ đĩa. Máy chủ có tuổi thọ trang thấp sẽ được hưởng lợi từ RAM bổ sung.

SQL Server Instance:Buffer Manager-> Buffer Cache hit Ratio Điều này cho bạn biết tỷ lệ phần trăm các trang được đọc từ RAM mà không phải đọc từ đĩa, tỷ lệ truy cập bộ nhớ cache thấp hơn 85 sẽ có nghĩa là máy chủ sẽ được hưởng lợi từ RAM bổ sung

3 :Vâng, không thể sai ở đây. Nên có tempdb trên một bộ đĩa riêng biệt. Xem bài viết KB này dưới tiêu đề:Di chuyển cơ sở dữ liệu tempdb về cách thực hiện việc này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi không thể thực hiện một hàm tổng hợp trên một biểu thức có chứa một tổng thể nhưng tôi có thể làm như vậy bằng cách tạo một câu lệnh select mới xung quanh nó?

  2. Tác vụ dọn dẹp bảo trì SQL hoạt động nhưng không xóa

  3. SQL Server 2005:không gian đĩa bị chiếm bởi các cột bị giảm

  4. Thiết lập kịch bản của thư cơ sở dữ liệu

  5. SQL Server:Mệnh đề where-động