2012-05-01 33 views
13

Tôi có một bảng xanh với khoảng 5 triệu + hàng, mỗi phân vùng khoảng 100 nghìn hàng. RowKey là một dấu thời gian có thể sắp xếp. Tôi cần để có được bản ghi mới nhất đã được chèn vào bảng.Lưu trữ bảng Azure có bản ghi cuối cùng

Vì LINQ Last, Max, OrderBy v.v. không được hỗ trợ, làm thế nào để tôi có được bản ghi bảng gần đây nhất?

Trả lời

12

Không có cách nào hiệu quả để thực hiện việc này. Nhưng nếu đó là một tùy chọn, hãy xem xét lật phím hàng của bạn để các mục mới nhất nằm ở trên cùng (thứ tự thời gian ngược). Truy xuất các mục nhập n hàng đầu dễ dàng và hiệu quả.

+2

Và một tài liệu tham khảo tốt để đạt được điều này là một trong các bài đăng blog cũ của bạn: http://blog.smarx.com/posts/using-numbers-as-keys-in-windows-azure –

+0

Bất kỳ ý tưởng nào nếu nhóm azure sẽ thêm hỗ trợ cho các truy vấn LINQ khác để lưu trữ bảng? Hoặc là những giới hạn kỹ thuật quá phức tạp ... –

+1

Tôi mong đợi nhiều truy vấn hơn sẽ được hỗ trợ theo thời gian, nhưng có lẽ không phải là câu hỏi này. Với sự hiểu biết của tôi về cách dữ liệu được lưu trữ, không có cách nào tốt để có được vào cuối danh sách hoặc truy vấn theo thứ tự ngược lại. (Hãy suy nghĩ giống như một danh sách liên kết đơn lẻ.) – smarx

1

Bạn có thể truy vấn cho TimeStamp nhỏ hơn MaxDate và giới hạn kết quả cho 1. Chưa thử nghiệm nhưng nó sẽ hoạt động. Tùy thuộc vào cách định dạng dấu thời gian của bạn.

+0

Chỉ cần thử nghiệm nó. Không làm việc – Szer

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