2012-05-01 71 views
13

我有一張大約500萬行的天藍色表格,每個分區約100k行。 RowKey是一個可排序的時間戳。我需要能夠獲得插入表中的最新記錄。Azure Table Storage獲取最後一條記錄

由於不支持Linq Last,Max,OrderBy等,我如何有效地獲取最新的表記錄?

回答

12

沒有有效的方法來做到這一點。但是,如果它是一個選項,考慮翻轉你的行鍵,使最新的條目在最上面(反向時間順序)。檢索頂部n條目簡單而高效。

+2

實現這一目標的一個很好的參考是您的舊博客文章之一:http://blog.smarx.com/posts/using-numbers-as-keys-in-windows-azure –

+0

任何想法,如果天藍色的團隊將增加對錶格存儲的更多Linq查詢的支持?或者技術限制太複雜...... –

+1

我希望隨着時間的推移可以支持更多的查詢,但可能不是這一個。根據我對數據存儲方式的理解,沒有什麼好方法可以到達列表的末尾,或者以相反的順序查詢。 (認爲​​有點像單鏈表)。 – smarx

1

您可以查詢小於MaxDate的TimeStamp,並將結果限制爲1. 尚未測試,但它應該可以工作。 取決於您的時間戳是如何格式化的。

+0

剛剛測試過。不起作用 – Szer