2012-12-12 32 views
3

我已經開始使用RavenDb,我注意到RavenDb服務器根據我的查詢創建自定義索引。如果我多次使用相同的索引(執行相同的查詢),那麼索引將永久創建。爲什麼要在raven db中創建自定義索引?

我的問題是,爲什麼我要從ny代碼創建一個自定義索引,如果Raven足夠聰明,爲我創建這些索引?

+0

那麼,一個原因可能是如果你不希望第一個查詢必須採取創建索引的命中。 –

+0

也軟件設計101:不要以爲你比用戶更聰明。 –

回答

5

Raven可以做的事情有很多,不能用簡單的linq查詢來表達。例如,Map/Reduce,Multimap,轉換,自定義分析等等。另外,約阿希姆的觀點是正確的 - 第一個表達需要新動態索引的查詢的用戶將會受到打擊。要麼他們不會得到合理數量的數據,要麼你明確地等待非常規結果,他們將會等待很長時間。

動態查詢對於快速原型設計來說很不錯,但在某些時候,您應該回顧實際構建的內容並考慮爲這些操作創建靜態索引。

相關問題