mongodb-user
[Arriba] [Todas las Listas]

[mongodb-Usuario] Índice Optimization & Ordenando

To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Subject: [mongodb-Usuario] Índice Optimization & Ordenando
From: Χρήστος Μάλλιος <mallios.xristos@xxxxxxxxx>
Date: Tue, 22 Aug 2017 02:00:02 -0700 (PDT)
Delivery-date: Tue, 22 Aug 2017 07:36:37 -0400
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:date:from:to:message-id:subject:mime-version :x-original-sender:reply-to:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=T4PoZW8k8GZiiRD0oPcI16ko0L5PFgVi5P6yUDj0SaI=; b=SQRsTploVkkOWLFQy29hdtJbaUGmbmVf+WkcAbdG4eqfFAb5e6Nkk0azFcnvSEU86s y9OYgB/8D3/ILL5m3x0UcL8Hv0LCdgLjJTwrFLsl0uZBZNoYapb8AyC3JTNmrfwsIYFa QqfYLVgyn5t2Eq02aX6V5K7iNjW5+9Dvyz3ZtLCEgfahbMrDi51Is3F3/Gm3uvPNCBDf 11o781oj1xH1SDsGFm7+OQo/VX2Mj/SoI1HI1p43epW9O4w8P14n0FlBdMn7Xew3gVAY EnhMiXC2QH2KauRUTNPr+AJQt+gC60RPOGJ3MLVnt69GG4DIsvutbXirTRPaxDeqTXy2 8d3A==
Envelope-to: traductor@xxxxxxxxxxx
List-archive: <https://groups.google.com/group/mongodb-use>
List-help: <https://groups.google.com/support/>, <mailto:mongodb-user+help@googlegroups.com>
List-id: <mongodb-user.googlegroups.com>
List-post: <https://groups.google.com/group/mongodb-user/post>, <mailto:mongodb-user@googlegroups.com>
List-subscribe: <https://groups.google.com/group/mongodb-user/subscribe>, <mailto:mongodb-user+subscribe@googlegroups.com>
List-unsubscribe: <mailto:googlegroups-manage+1044811755470+unsubscribe@googlegroups.com>, <https://groups.google.com/group/mongodb-user/subscribe>
Mailing-list: list mongodb-user@xxxxxxxxxxxxxxxx; contact mongodb-user+owners@xxxxxxxxxxxxxxxx
Reply-to: mongodb-user@xxxxxxxxxxxxxxxx
Sender: mongodb-user@xxxxxxxxxxxxxxxx
He visto en muchos correos que en general el *optimal manera de crear un 
índice en *mongodb para una consulta es para poner los campos iguales en primer lugar, después que 
los campos de clase y en el fin los campos de gama. De este modo, porque los 
campos de clase no son en el comienzo del índice, *mongodb tendría que hacer en 
clase de memoria(hay no global ordenando). Así que mi primera cuestión es cómo este 
ordenando está implementando. Adivino, porque los elementos son ordenados por 
"segmento", el *optimal manera de hacer la clase es por fusionar los segmentos ya 
ordenados. Es este correcto o no? 

Mi cuestión de segundos tiene que hacer con el encima mencionado *optimal orden de campo. 
Por qué lo es más *optimal para utilizar los campos de igualdad primer y no los campos 
de clase. Entiendo que los filtros iguales probablemente pueden reducir la medida del 
resultado demasiado, pero incluso aun así, el resultado no es ya ordenado. Al contrario, 
si los valores ordenados eran en el comienzo del índice, los 
resultados serían ya ordenado y adivino que porque el índice incluye 
los campos de filtro después de aquello, *mongodb no cargará documentos inútiles en 
memoria. Lo es algo mal en mi manera de pensamiento?

Mi última cuestión es sobre el límite de 32MB en dato que será ordenado en 
memoria. Hace esta limitación existe? Si este límite existe, el ordenando es 
hecho por segmentos(por ejemplo SQL tradicional *dbms uso en memoria algunos bloques 
y no el dato entero) o no? En caso que el ordenando no es hecho en 
segmentos, que significa que si el deseado *resultset que queremos ordenar es 
más grande que 32MB, entonces la consulta no será completada?

-- 
Recibiste este mensaje porque eres *subscribed al *Google Grupos "*mongodb-grupo"
de usuario.

Para otro *MongoDB opciones de apoyo técnico, ve: *https://*docs.*mongodb.*com/Apoyo/manual/
--- 
recibiste este mensaje porque eres *subscribed al *Google Grupos "*mongodb-grupo" de usuario.
A *unsubscribe de este grupo y la parón que recibe *emails de él, enviar un *email a *mongodb-usuario+unsubscribe@xxxxxxxxxxxxxxxx.
A correo a este grupo, envía *email a *mongodb-user@xxxxxxxxxxxxxxxx.
Visita este grupo en *https://grupos.*google.*com/Grupo/*mongodb-usuario.
Para ver esta discusión en la visita de web *https://grupos.*google.*com/*d/*msgid/*mongodb-Usuario/6*c9575*b5-*cddf-4529-8#uno67-#uno4*ddb69*b57*e5%40*googlegroups.*com.
Para más opciones, visita *https://grupos.*google.*com/*d/*optout.
I have seen in many posts that in general the optimal way to create an 
index in mongodb for a query is to set the equal fields firstly, after that 
the sort fields and in the end the range fields. In this way, because the 
sort fields are not in the beginning of the index, mongodb should do in 
memory sort(there is no global sorting). So my first question is how this 
sorting is implementing. I guess, because the elements are sorted per 
"segment", the optimal way to do sort is by merging the already sorted 
segments. Is this correct or not? 

My seconds question has to do with the above mentioned optimal field order. 
Why is it more optimal to use the equality fields first and not the sort 
fields. I understand that the equal filters can probably reduce the size of 
the result too much, but even though, the result is not already sorted. On 
the contrary, if the sorted values were in the beginning of the index, the 
results would be already sorted and I guess that because the index includes 
the filter fields after that, mongodb will not load useless documents in 
memory. Is it something wrong in my way of thinking?

My last question is about the limit of 32MB on data that will be sorted in 
memory. Does this limitation exists? If this limit exists, the sorting is 
done by segments(for example traditional SQL dbms use in memory some blocks 
and not the whole data) or not? In case that the sorting is not done in 
segments, that means that if the desired resultset that we want to sort is 
larger than 32MB, then the query will not be completed?

-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.com/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/6c9575b5-cddf-4529-8a67-a4ddb69b57e5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<Anterior por Tema] Tema Actual [Siguiente por Tema>