Phần mềm của chúng tôi phải có khả năng chạy trên SQL Server 2000 và 2005. Để đơn giản hóa việc phát triển, chúng tôi đang chạy cơ sở dữ liệu SQL Server 2005 ở mức tương thích 80. Tuy nhiên, hiệu suất cơ sở dữ liệu dường như chậm hơn trên SQL 2005 so với SQL 2000 trong một số trường hợp (chúng tôi chưa xác nhận điều này bằng cách sử dụng điểm chuẩn). Sẽ nâng cấp mức độ tương thích lên 90 để cải thiện hiệu năng trên các máy chủ SQL 2005?Việc chạy cơ sở dữ liệu SQL Server 2005 ở mức tương thích 80 có tác động tiêu cực đến hiệu suất không?
Trả lời
Tôi nghĩ rằng tôi đã đọc ở đâu đó, rằng cơ sở dữ liệu SQL Server 2005 sẽ nhanh hơn khoảng 30% so với công cụ SQL Server 2000. Nó có thể là, bạn phải chạy cơ sở dữ liệu của bạn trong chế độ tương thích 90 để có được những lợi ích này.
Nhưng tôi stumbled trên hai kịch bản, nơi hiệu suất có thể giảm đáng kể khi sử dụng MSSQL 2005 so với MSSQL 2000:
Parameter Sniffing: Khi sử dụng một thủ tục lưu trữ, sql server sẽ tính toán chính xác một kế hoạch thực hiện tại thời gian, trước tiên bạn gọi thủ tục. Kế hoạch thực hiện phụ thuộc vào các giá trị tham số được đưa ra cho cuộc gọi đó. Trong trường hợp của chúng tôi, các thủ tục thường mất khoảng 10 giây đang chạy hàng giờ dưới mssql 2005. Hãy xem here và here.
Khi sử dụng truy vấn được phân phối, mssql 2005 hoạt động các giả định liên quan khác nhau về thứ tự sắp xếp trên máy chủ từ xa. Hành vi mặc định là, máy chủ sao chép toàn bộ các bảng từ xa có liên quan đến truy vấn đến tempdb cục bộ và sau đó thực thi các phép nối cục bộ. Giải pháp thay thế là sử dụng OPENQUERY, nơi bạn có thể kiểm soát chính xác kết quả nào được chuyển từ máy chủ từ xa.
sau khi bạn chuyển DB sang năm 2005, bạn đã
cập nhật số liệu thống kê với quét toàn bộ? xây dựng lại các chỉ mục?
đầu tiên cố gắng đó và sau đó kiểm tra hiệu suất một lần nữa
Cũng là một FYI, nếu bạn chạy mức độ tương thích 90 sau đó một số điều không được hỗ trợ nữa như bên ngoài phong cách cũ tham gia (*= and =*)
Bạn đang sử dụng subselects trong truy vấn của bạn?
Từ kinh nghiệm của tôi, một câu lệnh SELECT với các lựa chọn chạy tốt trên SQL Server 2000 có thể thu thập dữ liệu trên SQL Server 2005 (có thể chậm hơn 10 lần!).
Thực hiện thử nghiệm - viết lại một truy vấn để loại bỏ các lựa chọn và xem hiệu suất của nó thay đổi như thế nào.
- 1. SQL Server tương thích ý nghĩa mức
- 2. Mức độ tương thích SQL Server 2008
- 3. MySQL vs SQL Server 2005/2008 hiệu suất
- 4. Thả cơ sở dữ liệu SQL Server
- 5. Tài nguyên cho thiết kế cơ sở dữ liệu SQL Server hiệu suất cao
- 6. Cách kiểm tra hiệu suất của cơ sở dữ liệu SQL Server?
- 7. Đổi tên tệp dữ liệu cơ sở dữ liệu trong SQL Server 2005
- 8. SQL Server 2005 có tương đương với kiểu dữ liệu ENUM của MySql không?
- 9. Chuyển đổi dữ liệu tiêu cực thành tích cực dữ liệu trong SQL Server
- 10. Thay đổi chủ sở hữu sơ đồ cơ sở dữ liệu trong SQL Server 2005
- 11. SQL Server 2005, cách sao chép Sơ đồ cơ sở dữ liệu sang máy chủ khác
- 12. Tránh con trỏ cơ sở dữ liệu trong SQL Server
- 13. Hiệu suất loại dữ liệu phân cấp SQL Server 2008?
- 14. Lưu trữ giá trị C# DateTimeOffset trong cơ sở dữ liệu SQL Server 2005
- 15. Làm thế nào để chuyển dữ liệu được mã hóa sql giữa các cơ sở dữ liệu SQL Server 2005?
- 16. Tìm bảng trên nhiều cơ sở dữ liệu SQL SERVER 2005
- 17. Cập nhật bảng cơ sở dữ liệu từ một bảng cơ sở dữ liệu SQL Server sang bảng cơ sở dữ liệu SQL Server khác?
- 18. Mang cơ sở dữ liệu SQL Server trực tuyến
- 19. Cách chuyển đổi cơ sở dữ liệu Visual Foxpro sang cơ sở dữ liệu SQL Server
- 20. SQL Server: Làm thế nào để biết cơ sở dữ liệu là một cơ sở dữ liệu hệ thống?
- 21. Không gian trong URL của bạn (% 20) có tác động tiêu cực đến SEO không?
- 22. Log.d và tác động đến hiệu suất
- 23. SQL Server - Tạo Trigger đơn chạy cho TẤT CẢ các bảng trong cơ sở dữ liệu
- 24. Nhận cơ sở dữ liệu SQL Server Cross Phụ thuộc
- 25. Chiến lược triển khai cơ sở dữ liệu (SQL Server)
- 26. Bí danh cơ sở dữ liệu chéo của SQL Server
- 27. Tác động tài nguyên từ việc chuẩn hóa một cơ sở dữ liệu là gì?
- 28. Làm cách nào để di chuyển Sơ đồ cơ sở dữ liệu SQL Server sang cơ sở dữ liệu khác?
- 29. Tác động của TDE đối với hiệu năng cơ sở dữ liệu là gì?
- 30. Chọn kích thước cơ sở dữ liệu SQL Server