2013-07-01 24 views
1
多個RowKeys

This post from 2010 says查詢Azure中

Query7: PartitionKey == "A" and (RowKey == "A" or RowKey == 「F」) 
This results in scanning the entire Partition "A". 

這仍然是爲天青當前版本的情況下?

當我的分區只包含〜20行時,我應該更喜歡兩個並行查詢還是上面的語法?

+0

我還沒有聽說過任何更改。最好的方法是測試它。創建一個大的分區(可能是10k或100k行)並按照每種方式計時。 –

回答

0

我找到了答案,從Joe Giardino, Microsoft

如果需要多個不連續的行鍵,然後發出獨立的,但下面的表格中 平行的各個查詢將有更好的表現。當你指定PartitionKey和RowKey時, 查詢被認爲是一個 「PointQuery」,它是性能最高的選項。

a) PartitionKey == 「MyPK」 && RowKey == 「FirstRK」 
b) PartitionKey == 「MyPK」 && RowKey == 「SecondRK" 
0

如果你的分區只包含20個實體,那麼使用並行查詢可能是矯枉過正。無論如何,你的查詢應該很快(亞秒)返回,那麼爲什麼這是一個問題?

+0

當你寫很多的查詢時,很高興知道如何在不經歷試驗和錯誤的情況下編寫它們。你有沒有讀過這個地方 - 你有鏈接?謝謝。 – laktak

+0

我沒有完全讀到這個地方。我寫了一個針對Azure Tables的備份工具,因此我花了數小時測試性能和各種數據提取策略。我只是給你我實驗的結果。查看我的博客文章,瞭解我製作的預覽API的各種獲取策略(http://geekswithblogs.net/hroggero/archive/2012/10/29/faster-simpler-access-to-azure-tables-with-enzo-azure -api.aspx);儘管API不再可用,但您可以從該帖子中獲取一些統計信息。 –

+0

太棒了,謝謝! – laktak