2012-01-30 4 views
6

Al realizar una consulta dinámica, RavenDB generalmente creará un índice temporal.¿RavenDB optimiza internamente el tipo de consultas "obtener documento por identificación"?

Recuperando documento por su Id no desencadena este comportamiento:

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

¿El RavenDB tiene un sistema incorporado en la optimización de este tipo de consulta?

+1

var entity = documentSession.Load (1); Funciona sin hacer un índice temporal y es muy rápido lo que he encontrado. – Phil

Respuesta

4

Arnold, No, lo hace no optimizar este comportamiento.

1

Su suposición es incorrecta, ya que creará un índice temporal. Si su ejemplo su nombre debe ser "Temp/Entities/By__document_id"

+0

Raven Studio no muestra dicho índice. –

+0

Acabo de probarlo - tengo este índice en mi caso. Quizás tenga otro índice que ya incluya la propiedad Id y, por lo tanto, el optimizador de consultas usará este índice en lugar de crear uno nuevo. Sin embargo, cuando tenga una instancia de cuervo nueva y vacía, creará un índice temporal. –

+0

En mi caso, no crea un índice temporal que sería visible en Raven Studio. El nombre del índice en el tiempo de ejecución es "Dinámico/Entidades" –

Cuestiones relacionadas