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

Indices individual vs grupal

Estas en el tema de Indices individual vs grupal en el foro de Mysql en Foros del Web. Hola! A alguno le ha sucedido esto, uno encuentra respuestas que a veces no son tan claras, así que la comparto con ustedes a ver ...
  #1 (permalink)  
Antiguo 26/04/2013, 10:12
Avatar de WinGFX  
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 86
Antigüedad: 17 años, 10 meses
Puntos: 3
Indices individual vs grupal

Hola!

A alguno le ha sucedido esto, uno encuentra respuestas que a veces no son tan claras, así que la comparto con ustedes a ver quien me da una mejor.

¿Cual es la diferencia entre crear un indice FULLTEXT individual y un indice grupal?

Eso es todo!
__________________
"Si piensas en que harás mañana, mejor hazlo hoy!"

Consejos para las buenas preguntas
  #2 (permalink)  
Antiguo 26/04/2013, 10:39
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: Indices individual vs grupal

Son aplicaciones distintas, y no compatibles, además que los índices FULLTEXT sólo se pueden crear sobre tablas MyISAM, mientras que los índieces INDEX se pueden hacer sobre ambos motores.
No se trata del mismo tipo de estructura, por lo que no son comparables.
En el caso de los INDEX, cada conjunto distinto de valores de campos declarados como clave, compone una entrada que remite a una lista de registros (hablando simplemente), mientras que en el FULLTEXT, cada entrada es una lista grupo de palabras variable, a las que se les asigna un valor de relevancia diferente, en función de su existencia dentro del texto analizado o el conjunto analizado de campos.
No se trata de la misma lógica, y la elección de uno u otro depende de lo que se intenta diseñar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/04/2013, 10:52
Avatar de WinGFX  
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 86
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: Indices individual vs grupal

Gracias gnzsoloyo por la respuesta, tal vez no fui claro en la pregunta pero la redondearé.

Si tengo varios campos que quiero usar para la búsqueda con FULLTEXT que es más conveniente si quiero usar las busquedas en estos campos; si uso un solo indice que contenga los campos o de forma separada para cada uno.

Gracias!
__________________
"Si piensas en que harás mañana, mejor hazlo hoy!"

Consejos para las buenas preguntas
  #4 (permalink)  
Antiguo 26/04/2013, 10:58
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: Indices individual vs grupal

Es como te digo al final: Depende del uso y la composición.
Si todos los campos son VARCHAR de gran cantidad de texto, o TEXT, y las búsquedas son por similitud, entonces los FULLTEXT son una muy buena opción.
Pero si estás buscando nombres, ciudades, lagos, países, libros, o cualquier dato de poca longitud, y/o además de texto contienen datos numéricos, fechas u otro tipo de campo, no es una buena idea usar FULLTEXT, sino INDEX.

¿Por qué?

Simple: Los FULLTEX se diseñaron para búsquedas aproximadas por relevancia, no para búsquedas precisas.
No es lo mismo. Son diferentes estructuras y algoritmos de búsqueda.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 27/04/2013, 04:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Indices individual vs grupal

WinGFX,
si te he entendido bien, mi consejo es que si las búsquedas por relevancia serán con mucha frecuencia las mismas para esos dos campos de la misma tabla, se trata de textos largos en los que quieres buscar por aproximación, usando una o varias palabras, y te traes los campos en el SELECT en ese orden del índice (de esto no estoy tan seguro), un índice FULLTEXT de múltiples columnas sería lo ideal, pues trabajará de izquierda a derecha de los dos(o más) campos reunidos.Si vas,pues, a realizar búsquedas sin hacer mucha distinción sobre el hecho de que lo buscado esté en uno o en otro campo, es decir, eso no va a ser relevante para tus búsquedas, si vas buscar los mismos términos en uno y en otro, te interesa el FULLTEXT sobre múltiples columnas para búsqueda aproximada por relevancia.
Y lo digo sin estar seguro de ello, pues no son consideraciones técnicas lo que pongo sobre la mesa, sino algo de lógica.
Acuérdate de que es un tipo de índice para tablas MyIsam; tampoco nos dices qué codificación estás usando para tus datos.
  #6 (permalink)  
Antiguo 27/04/2013, 10:50
Avatar de WinGFX  
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 86
Antigüedad: 17 años, 10 meses
Puntos: 3
Respuesta: Indices individual vs grupal

Gracias jurena por tu respuesta.

Todos los campos están usando utf8_general_ci, valga la redundancia la tabla está en UTF-8 XD
__________________
"Si piensas en que harás mañana, mejor hazlo hoy!"

Consejos para las buenas preguntas

Etiquetas: indices
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 10:32.