为什么要在raven db中创建自定义索引?
问题描述:
我已经开始使用RavenDb,我注意到RavenDb服务器根据我的查询创建自定义索引。如果我多次使用相同的索引(执行相同的查询),那么索引将永久创建。为什么要在raven db中创建自定义索引?
我的问题是,为什么我要从ny代码创建一个自定义索引,如果Raven足够聪明,为我创建这些索引?
答
Raven可以做的事情有很多,不能用简单的linq查询来表达。例如,Map/Reduce,Multimap,转换,自定义分析等等。另外,约阿希姆的观点是正确的 - 第一个表达需要新动态索引的查询的用户将会受到打击。要么他们不会得到合理数量的数据,要么你明确地等待非常规结果,他们将会等待很长时间。
动态查询对于快速原型设计来说很不错,但在某些时候,您应该回顾实际构建的内容并考虑为这些操作创建静态索引。
那么,一个原因可能是如果你不希望第一个查询必须采取创建索引的命中。 –
也软件设计101:不要以为你比用户更聪明。 –