2012-02-21 31 views
5

Tôi có một bảng rất lớn chứa khoảng 20 triệu hàng. Tôi phải lấy khoảng 4 triệu hàng từ bảng này dựa trên một số tiêu chí lọc. Tất cả các cột trong tiêu chí lọc được bao phủ bởi một số chỉ mục và thống kê bảng được cập nhật.Kích thước hàng tối ưu để tìm nạp tại một thời điểm từ một bảng lớn

Tôi đã được đề xuất thay vì tải tất cả các hàng trong một lần, hãy sử dụng kích thước lô, ví dụ: nói 80000 hàng tại một thời điểm và điều đó sẽ nhanh hơn so với tải tất cả các hàng cùng một lúc.

Bạn có thể đề xuất ý tưởng này có ý nghĩa không?

Nếu có ý nghĩa, kích thước hàng tối ưu sẽ tải tại một thời điểm là gì.

+0

Bạn đang cố gắng làm gì với các hàng đã chọn? –

+0

Tôi phải tải các hàng db này trong bộ nhớ và duy trì một số trong bộ nhớ cache loại công cụ – ManojGumber

+0

Vâng, ngoài việc sử dụng mệnh đề 'order by' (có thể có tác động đáng kể đến hiệu suất truy vấn), tôi không đảm bảo rằng bạn sẽ có thể đảm bảo rằng một hàng sẽ không hiển thị trong nhiều hơn một đợt. –

Trả lời

1
  1. Nó có thể nhanh hơn nhiều so với đơn sql.
  2. Chia dữ liệu bằng PK.
  3. Kích thước hàng loạt. Nó phụ thuộc vào độ dài của dòng và thời gian xử lý. Bắt đầu với 10 000.
  4. Công việc chủ đề nếu có thể.
0

Sử dụng SSIS để thao tác dữ liệu của bạn ... mọi thứ bạn muốn như luồng và tối ưu hóa về kích thước tải và bộ nhớ cache.

Xoay hình lập phương hoặc xem xét Công cụ kho dữ liệu thông minh nghiệp vụ ...

Các vấn đề liên quan