Trong khi được kết nối với máy chủ sản xuất của chúng tôi (SQL Server 2008, máy rất mạnh), câu lệnh CHỌN này mất 2 giây , quay lại tất cả các trường (tổng cộng 4 MB dữ liệu).
SELECT TOP (30000) *
FROM person
WITH(NOLOCK);
Từ bất kỳ hộp nào khác trên cùng một mạng (kết nối bằng xác thực SQL hoặc Xác thực Windows), cùng một truy vấn mất 1 phút, 8 giây .
Tôi đang thử nghiệm với tuyên bố rất đơn giản này để minh họa rằng đó không phải là vấn đề lập chỉ mục hoặc vấn đề liên quan đến truy vấn. (Chúng tôi có vấn đề về hiệu suất với tất cả các truy vấn tại thời điểm này ...)
Các hàng đến trong khối, và không phải tất cả cùng một lúc. Tôi nhận được các hàng đầu tiên của mình ngay lập tức và sau đó đợi hơn 1 phút để các lô hàng được đưa vào.
Dưới đây là Thống kê khách hàng của truy vấn, khi nó được chạy từ hộp từ xa:
Query Profile Statistics
Number of INSERT, DELETE and UPDATE statements 0
Rows affected by INSERT, DELETE, or UPDATE statements 0
Number of SELECT statements 2
Rows returned by SELECT statements 30001
Number of transactions 0
Network Statistics
Number of server roundtrips 3
TDS packets sent from client 3
TDS packets received from server 1216
Bytes sent from client 266
Bytes received from server 4019800
Time Statistics
Client processing time 72441 ms (72 seconds)
Total execution time 72441 ms
Wait time on server replies 0
Chúng ta có thể thấy rằng "Thời gian xử lý của khách hàng" bằng tổng thời gian thực hiện.
Có ai biết những bước tôi có thể thực hiện để chẩn đoán tại sao việc truyền dữ liệu thực tế lại mất nhiều thời gian không?
Có tham số cấu hình SQL nào hạn chế hoặc giới hạn tốc độ truyền dữ liệu giữa các máy không?