Costo de acceder a un Elemento

Costo de acceder a un Elemento

de Francisco Nicolas Noya Bagnasco -
Número de respuestas: 3

Buenos días, 

con mi compañera estamos teniendo problemas a la hora de determinar los costos de las constulas. Teníamos la duda de si el costo N/2 (al acceder a un documento sin indice) correspondía a acceder a un elemento específico de la colección o a cualquier elemento de la misma, me explico, si yo quiero acceder a un elemento en específico entiendo que debo recorrer toda la colección, por lo que es razonable que el costo promedio de acceder a un elemento en específico que no posea indice sea N/2, sin embargo, si yo quiero acceder a un elemnto arbitrario de la colección entiendo que el costo de la operación sería 1, pues no debería buscar entre todos los elementos de la colección para acceder a uno arbitrario, simplemente tomo el primero.

La pregunta es si esto es correcto, acceder a un elemento arbitrario de la lista tiene costo 1 pero acceder a un elemento específico de la lista que no posea indice tiene costo N/2 .

Saludos, Nicolás 

En respuesta a Francisco Nicolas Noya Bagnasco

Re: Costo de acceder a un Elemento

de Martin Giachino -
Acceder a un elemento particular que sé cual es su identificador único es 1 (por ejemplo si accedo por el _id). En otro caso como en los lokup de dos colecciones completas, eso implica recorrer ambas y machearlas. Si tuviera lookups con alguna condición sobre un campo indice, ahi el costo de recorrer esos documentos depende de cuantos selecciona ese valor del indice.

Martín
En respuesta a Martin Giachino

Re: Costo de acceder a un Elemento

de Gabriela Rodriguez Rivero -
Aun sigo con la duda,
En un caso más simple como puede ser una proyección de M atributos de una colección de N documentos. 
Mi pregunta es: si no existen índices esta bien pensar que al proyectar se debe acceder a los N documentos con un costo de N/2 y M*0.01 por cada documento quedando:

cost_project = N(N/2 + M*0.01)

es correcto este razonamiento?