Không thể truy vấn kho dữ liệu App Engine để có kết quả tổng hợp.Chiến lược thay thế để tập hợp truy vấn ("nhóm theo") trong kho dữ liệu công cụ ứng dụng google
Ví dụ: Tôi có một thực thể gọi là "bài" với các lĩnh vực sau:
id chính, String nickname, String postText, int điểm
Tôi có nhiều nickname khác nhau và nhiều bài viết mỗi nickname trong kho dữ liệu của tôi.
Nếu tôi muốn có một ban lãnh đạo của mười nickname trên cùng của tổng điểm số, tôi sẽ thường có sql như sau:
select nickname, sum(score) as sumscore
from Post
group by nickname
order by sumscore
limit 10
Đây là loại truy vấn là không thể trong google công cụ ứng dụng kho dữ liệu java api (JDO hoặc jpa).
Chiến lược thay thế nào tôi có thể sử dụng để đạt được kết quả tương tự?
Thận trọng và dứt khoát, tôi có thể tải mọi thực thể Đăng và tính toán tập hợp đầy đủ trong mã ứng dụng của mình. Điều này rõ ràng là không hiệu quả trên các tập dữ liệu lớn.
Tôi có thể sử dụng các chiến lược nào khác?
Nếu Google chỉ cập nhật Plugin DataNucleus của họ sẽ thực hiện cách tiếp cận "thô và bạo lực" đó cho bạn một cách minh bạch. Các mã để làm điều đó sẽ chỉ là một số ít các dòng để plugin của họ, đóng góp một năm trước đây ... – DataNucleus
@DataNucleus Có được xây dựng trong hỗ trợ sẽ không làm cho nó bất kỳ nhanh hơn hoặc hiệu quả hơn. –
@Nick, tất nhiên là không, nhưng toàn bộ trải nghiệm người dùng sẽ là một cảnh chết tiệt dễ chịu hơn và số lượng người viết mã phải viết ít hơn - đó là doanh nghiệp chúng tôi đang ở – DataNucleus