2017-07-25 60 views
0

我有一個包含大約4百萬個項目的文檔db集合。選擇查詢獲取「請求超時」

我運行形式的查詢:

SELECT * FROM c WHERE c.ItemDate >= "2015-01-01" AND c.ItemDate < "2017-07-31" 

該查詢最終將枚舉集合中的大多數項目,但不是所有(在該範圍存在的大部分項目)。當我在azure門戶中運行查詢時,出現如下錯誤:「Request timed out」

我的印象是DocumentDb將返回分頁結果,並且我最終將使用連續標記來檢索後續分頁數據。這個實例只會在找到它們時返回文檔。

有什麼我可以用這個查詢來做這個工作嗎?

回答

1

把這一個

SELECT * FROM c WHERE (ItemDate >= "2015-01-01" AND ItemDate < "2017-07-31") 
+0

嘛,那肯定運行,但它只返回一個文檔,應該有幾百萬滿足該查詢。 – Slicc

+0

那麼這個1的回報似乎是由於我有限的RU爲400.如果我增加到10000,我得到100個物品。似乎這個查詢花費了7600 RU,這似乎過分了。希望有一個更有效的方法來做到這一點。 – Slicc

+0

只是爲了完成這一點,似乎where條款時,比較字符串是非常昂貴的,當我添加一個額外的日期屬性和使用int來表示日期時,RU成本下降到7000. – Slicc