Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/12/2011, 07:49
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Mejorar consulta

Estás complicando demasiado y leyendo dos veces la misma tabla, con el agregado que lo haces por cada registro devuelto por la tercera tabla.
¿Nunca has usado JOIN o INNER JOIN? Sale en cualquier manual de SQL basico; trata de leer sobre el porque te ayudará y mucho.

Código MySQL:
Ver original
  1.     id,
  2.     `name` content
  3. FROM ids I INNER JOIN `TYPES` T ON I.id = T.w
  4.     `type` = '1' AND
  5.     `state` = 'public' AND
  6.     T.r='3' AND
  7.     T.`name` LIKE '%texto%'
  8. GROUP BY id, `name`

Tip: Trata de no usar términos en inglés para los nombres. Son propensos a chocar con las palabras reservadas del DBMS y generar errores de sintaxis indetectables. type, status y cosas así son palabras reservadas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)