2012-01-30 3 views
6

При выполнении динамического запроса RavenDB обычно создает индекс temp.Предоставляет ли RavenDB внутреннюю оптимизацию запросов «получить документ по id»?

Получение документа по его Id не вызывает такого поведения:

var entity = documentSession.Query<Entity>().Single(x => x.Id == 1); 

ли RavenDB имеют встроенный оптимизации для этого типа запроса?

+1

var entity = documentSession.Load (1); Работает без временного указателя и очень быстро я нашел. – Phil

ответ

4

Arnold, Нет, не оптимизировать эту ситуацию.

1

Ваше предположение неверно, поскольку оно создаст индекс темпа. Если в вашем примере его имя должно быть «Temp/Entities/By__document_id»

+0

Raven Studio не показывает такой индекс. –

+0

Я просто попробовал - у меня этот индекс в моем случае. Возможно, у вас есть еще один индекс, который уже включает свойство Id, и, таким образом, оптимизатор запросов будет использовать этот индекс вместо создания нового временного. Однако, когда у вас есть новый и пустой экземпляр raven, он создаст индекс temp. –

+0

В моем случае он не создает индекс temp, который будет отображаться в Raven Studio. Имя индекса во время выполнения - «Динамические/сущностные» –

Смежные вопросы