Đếm bảng với số lượng lớn dữ liệu có thể rất chậm, đôi khi phải mất vài phút; nó cũng có thể tạo ra bế tắc trên một máy chủ bận. Tôi muốn hiển thị giá trị thực, NOLOCK không phải là một tùy chọn.Số lượng Máy chủ SQL chậm
Các máy chủ tôi sử dụng là SQL Server 2005 hoặc 2008 Standard hoặc Enterprise - nếu nó quan trọng. Tôi có thể tưởng tượng rằng SQL Server duy trì số lượng cho mỗi bảng và nếu không có mệnh đề WHERE tôi có thể nhận được con số đó khá nhanh, đúng không?
Ví dụ:
SELECT COUNT(*) FROM myTable
ngay lập tức nên trở lại với giá trị đúng. Tôi có cần phải dựa vào số liệu thống kê để cập nhật không?
Nhận [kế hoạch thực hiện truy vấn] (http://stackoverflow.com/questions/7359702/how-do -i-get-a-query-thi-kế hoạch), sau đó chúng ta có thể nói ...('SELECT COUNT' trực tiếp truy vấn bảng thay vì sử dụng thống kê, vì thống kê có thể lỗi thời) – Justin
Câu hỏi ngớ ngẩn, nhưng bạn có chỉ mục không? – Kermit
@FreshPrinceOfSO nó vẫn còn chậm nếu bạn đếm trên 'Id' (bigint, khóa chính, đặc tả nhận dạng = true). – ANeves