2009-11-02 27 views
6

LƯU Ý: Tôi không tìm câu trả lời từ MSDN.Làm thế nào để bạn xác định Kích thước lô hàng ADO.NET được đề xuất trong thế giới thực?

Bạn đã xác định giá trị kích thước lô ADO.NET thích hợp cho cơ sở dữ liệu/ứng dụng đã cho của mình như thế nào? Yếu tố nào dẫn đến quyết định của bạn và bạn có thể chia sẻ trải nghiệm nào?

Sử dụng thành thạo NHibernate, tôi hiện đang sử dụng một cái gì đó như:

var sessionFactory = Fluently.Configure().Database(
      MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey("connString")) 
      .AdoNetBatchSize(50) 
      ) 
      .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Foo>()).BuildSessionFactory(); 

Từ hiểu biết của tôi này sẽ tập hợp lên đến 50 báo cáo tại một thời điểm trước khi gửi chúng thông qua các đối tượng kết nối đến máy chủ để xử lý.

Trả lời

0

Bạn không cần đặt giá trị này. Hãy để nó chạy với mặc định. Nó chỉ thực sự quan trọng nếu truy vấn của bạn đang trả về một lượng lớn dữ liệu, ví dụ: BLOBS trong trường hợp đó bạn sẽ chọn một kích thước lô nhỏ ~ 10-20 Đối với các ứng dụng thông thường, hãy để nó ra. Tôi chưa bao giờ phải đặt nó và tất cả các ứng dụng của tôi chạy siêu nhanh.

+0

lol siêu nhanh? :) nhanh như thế nào? – IamStalker

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