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

Una de velocidad

Estas en el tema de Una de velocidad en el foro de Mysql en Foros del Web. Hola! En una tabla con 100 campos, 1 de ellos es la ID y otro un nombre, el resto... datos Consulto la BD por la ...
  #1 (permalink)  
Antiguo 28/04/2011, 16:03
Avatar de sty
sty
 
Fecha de Ingreso: octubre-2003
Mensajes: 116
Antigüedad: 21 años
Puntos: 1
Busqueda Una de velocidad

Hola!

En una tabla con 100 campos, 1 de ellos es la ID y otro un nombre, el resto... datos
Consulto la BD por la clave primari (id) o por el nombre (fulltext) con un buscador, el resto se mantiene al margen de momento (ni siquiera se muestra, sólo están ahi).

¿La velocidad será la misma si en lugar de 100 campos fueran sólo 2 campos y luego uno más se asociara a otra tabla que contendría los datos de los 98 restantes?

El motivo es porque al buscar por nombre, la tabla tiene 500000 registros y es excesivamente lenta.

Muchas gracias!
  #2 (permalink)  
Antiguo 28/04/2011, 18:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Una de velocidad

A mi entender, hacer un índice FULLTEXT sobre un campo que contiene sólo nombres es un desperdicio de su capacidad. Los índices FULLTEXT se usan especialmente en campos que contienen cantidades de texto mayores, para poder ubicar palabras conforme la relevancia de la misma en ellos.
Como los índices FULLTEXT se usan habitualmente definidos con varias columnas, usarlo con una sola no es una forma óptima de explotarlo. Además si esa misma columna contiene palabras demasiado cortas, puede que el índice en realidad no sea utilizable porque esas palabras carecerían de relevancia.
La relevancia que determina un FULLTEXT está dado por la menor cantidad de veces que esa palabra aparece entre las columnas elegidas para el mismo (a menor cantidad de veces, más relevancia tiene). Si el criterio que quieres usar es el de repetición del término, usar simplemente índices INDEX sería más que suficiente.
Creo que deberías ahondar en el tema de índices, búsquedas booleanas y el uso de expresiones regulares, antes de seguir.
__________________
¿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: velocidad
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 20:00.