PDA

View Full Version : Làm thế nào để tăng tốc độ load Report



quỷ kiếm
01-05-2006, 16:43
Hiện nay khi viết soft! Các báo cáo của mình khi mở lần đầu rất lâu, còn khi mở lần thứ 2 trửo đi thì chạy khá nhanh, mình nghĩ là do lúc mở báo cáo, các thư viện của nó mới bắt đầu load. Vậy có cách nào để load các thư viện của report khi bắt đầu chương trình không? Hay có cách nào để tăng tốc độ mở report?
Ai biết thì chỉ giáo cho mình với
Cảm ơn trước nhé!

nguoivodanh1003
01-05-2006, 22:26
Hi QuiKiem, bạn nghỉ chưa chính xác, không phải lúc mở report các thư viện mới load mà chính xác là report thì phải dựa trên các SQL queries, cho nên lần đầu chạy report thì các câu SQL queries đó mới được load và run the first time để tạo cái gọi là action plan và load nó vào memory, cho nên tốn thời gian, những lần sau đó khi bạn gọi lai report đó tức là dùng lại action plan đã tạo trước cho nên tốc độ sẽ cao hơn. Vì vậy muốn report của bạn nhanh ngay từ đầu thì bạn tìm cách chạy mấy câu SQL queries trong report của bạn trước để tạo action plan trước khi người sử dụng run report. Ngoài ra bạn cũng có thể làm những cách khác để tăng thêm tốc độ cho report của bạn như dùng Stored procedure.

trac
05-05-2006, 16:28
report thì phải dựa trên các SQL queries, cho nên lần đầu chạy report thì các câu SQL queries đó mới được load và run the first time để tạo cái gọi là action plan và load nó vào memory, cho nên tốn thời gian, những lần sau đó khi bạn gọi lai report đó tức là dùng lại action plan đã tạo trước cho nên tốc độ sẽ cao hơn.

Ko đồng ý với bạn về cái vụ SQL query, nếu mình load data trước rồi mới feed data vô trong report thì sao. Còn tình trạng lần đầu load chậm lần sau load nhanh thì đã được nhắc đến nhiều, bạn search "first time performance" nha.
Nếu bạn dùng Crystal Report thì dù bạn làm gì nó cũng lâu ở lần đầu hết, ở trêb website của nó cũng đã nói tới cái lỗi này; và cũng theo trên đó thì lỗi này được fix trong bản service pack 1 nhưng tình hình là mình đã cài rồi, nhưng vẫn chậm như thường. Cái thằng Crystal Report này củ chuối hơn Reporting Service nhiều

nguoivodanh1003
05-05-2006, 22:46
Ko đồng ý với bạn về cái vụ SQL query, nếu mình load data trước rồi mới feed data vô trong report thì sao.

Trac có thể nói thêm về load data trước không, theo tui biết thì Crystal hay SQL reporting đều như nhau hết phải tạo SQL queries hay stored procedure, nếu vậy thì cuối cùng vẩn là chạy queries để tạo action plan, thời gian chậm giửa lần đầu và lần sau đó chính là thời gian tạo action plan, thậm chí bạn có tạo temp table trên memory thì vẩn có khoảng thời gian chậm này tuy rằng rất nhỏ.

Ngoài ra rất ít khi bạn tăng tốc report bằng cách tạo temp table, chỉ dùng temp table khi DB của bạn cực lớn bạn cần filter 1 phần nhỏ data thôi,

smartglorious
06-11-2007, 23:06
http://www.resortdata.com/Customers/Knowledge/KB-RDPWin/KWin0007.htm
that's why crystal report load so slowly :detective