Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/01/2009, 07:08
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años
Puntos: 300
Respuesta: Aumentar rendimiento en busqueda

Cita:
Iniciado por TEKILA Ver Mensaje
Creo que FULL TEXT solo vale para tablas MyISAM, no?
http://www.forosdelweb.com/f86/full-...innodb-476725/

Lo que hace es buscar en la tabla autor, y solamente en caso de no encontar ninguna coincidencia, buscara en la tabla alias.

LAs dos sentencias están unidas mediante un UNION y dentro de cada una hay un EXISTS como condición en el WHERE, que lo que hace es comprobar si hay resultados en la tabla autor. De este modo solo se muestran resultados de una tabla, ya que los EXISTS son iguales, pero uno pose un NOT que lo niega (el segundo concretamente).

No se si me explica bien...
Cierto, de momento FULL TEXT es sólo para motores MyIsam.
La sintaxis para el índice de nombre, creo que la tienes bien, aunque también puedes utilizar esto:
ALTER TABLE nombretabla ADD INDEX nombreindice(nombrecampo(40)), aunque no sé por qué limitas la ordenación a un número determinado de caracteres si los buscas en todo el campo nombre y el campo no es muy grande. ¿Cuál es el tamaño de ese campo nombre?

Pero lo que no entiendo es la lógica.
Dinos cuáles son los campos de esas tres tablas (por cierto no sé para qué es la tabla alias), su naturaleza y relaciones, y describe la lógica de búsqueda paso a paso: por ej., quiero que la consulta me busque en la tabla títulos todos los títulos de libro, con sus autores (procedentes de la tabla autores), títulos que contengan la palabra x en el campo título o en los campos, y caso de no encontrar ninguno, ... , etc.
Quizás de esa manera podamos ayudarte mejor.