Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda tonta sobre índices

Estas en el tema de Duda tonta sobre índices en el foro de Mysql en Foros del Web. Me gustaría saber si para optimizar las consultas a través de índices basta con crear el índice o hay que crear la consulta llamando al ...
  #1 (permalink)  
Antiguo 17/08/2010, 11:00
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Pregunta Duda tonta sobre índices

Me gustaría saber si para optimizar las consultas a través de índices basta con crear el índice o hay que crear la consulta llamando al índice?
  #2 (permalink)  
Antiguo 17/08/2010, 14:51
Avatar de chicho_  
Fecha de Ingreso: julio-2010
Mensajes: 44
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Duda tonta sobre índices

Basta con crear el índice :P
  #3 (permalink)  
Antiguo 17/08/2010, 15:25
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Respuesta: Duda tonta sobre índices

Gracias por responder ^^

Ya que estoy te puedo hacer otra pregunta?

La consulta que quiero hacer a la BD es que me ordene por un número de coincidencias, es decir, cuántos usuarios son de la misma ciudad y que me los ordene. Estaría bien hacer el índice al campo ciudades?
  #4 (permalink)  
Antiguo 18/08/2010, 05:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda tonta sobre índices

Cita:
La consulta que quiero hacer a la BD es que me ordene por un número de coincidencias, es decir, cuántos usuarios son de la misma ciudad y que me los ordene. Estaría bien hacer el índice al campo ciudades?
Es básicamente innecesario, porque tanto los agrupamientos como el ordenamiento consumirán más tiempo que lo que el índice puede acelerar la consulta. Además, de todos modos la consulta en cuestión deberá leer toda la tabla de usuarios para realizar la tarea, con lo que en realidad serán muchos más los recursos usados por eso que lo que el índice te puede aportar.
En el contexto de tu caso, un índice se justificaría a partir de tener centenares de miles o millones de registros. Si tan sólo tendrás algunos miles, no notarás una diferencia apreciable.
Además, un índice es una tabla que el sistema debe mantener actualizada, por lo que lo que se verá afectado es la performance de los INSERTs.
Una de las reglas de la optimización de consultas (y de las bases) es precisamente no crear más índices que los realmente necesarios.
Prueba ambas situaciones y analízalas con EXPLAIN. De allí verás si realmente es necesario.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.