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

optimizar consulta con varios OR

Estas en el tema de optimizar consulta con varios OR en el foro de Bases de Datos General en Foros del Web. Esta es una duda rapida, que no he encontrado en el foro tengo una consulta que dinamicamente se genera asi SELECT * FROM `productos` WHERE ...
  #1 (permalink)  
Antiguo 29/06/2004, 15:12
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 22 años, 2 meses
Puntos: 0
optimizar consulta con varios OR

Esta es una duda rapida, que no he encontrado en el foro

tengo una consulta que dinamicamente se genera asi

SELECT * FROM `productos` WHERE `id` LIKE 3 OR `id` LIKE 2 OR `id` LIKE...


quisiera saber si se puede optimizar de alguna manera esto...ya que quedaria un string muy largo (y supongo que lento, debido a tantos OR)

muchas gracias
__________________
www.subflash.com <-----visita
  #2 (permalink)  
Antiguo 29/06/2004, 15:20
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
select *
from 'productos'
where 'id' in ('1','2','3','4',.....'n');
  #3 (permalink)  
Antiguo 29/06/2004, 15:35
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 22 años, 2 meses
Puntos: 0
Muchas gracias!
justo lo habia encontrado hace unos segundos.

Saludos!
__________________
www.subflash.com <-----visita
  #4 (permalink)  
Antiguo 29/06/2004, 15:52
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Si es consecutivo también podrías usar

select *
from 'productos'
where 'id' BETWEEN '1' AND '9'
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 29/06/2004, 16:01
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Solo que el script que te da Brujonic es para rangos de datos mientras que el otro es para datos dispersos

  #6 (permalink)  
Antiguo 30/06/2004, 01:02
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 22 años, 2 meses
Puntos: 0
sip, comprendo, aunque estaba buscando el tuyo linterns

muchas gracias a los dos!
__________________
www.subflash.com <-----visita
  #7 (permalink)  
Antiguo 30/06/2004, 09:01
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11



PD: por leer a la carrera no vi que brujoNic puso "Si es consecutivo también podrías usar"
  #8 (permalink)  
Antiguo 30/06/2004, 09:22
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
No hay problema Linterns, muchos en los foros responden lo mismo en el mismo mensaje (valga la redundancia) por no leer todo completo. Por lo menor vos te diste cuenta de eso.

Esta bien querer ayudar y aportar pero respoder rápido sin leer los comentarios creo que es de mala educación, es como estar conversando con una persona frente a frente e interrumpirlo a cada momento.

En lo personal tengo como 5 años de estar en los foros y primero leo antes de responder, lo importante es la calidad y no la cantidad.

Espero no "caer mal" con este comentario.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #9 (permalink)  
Antiguo 30/06/2004, 09:31
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
no hay problem.... recuerda que soy de los usuarios originales (por no decir los viejos) que iniciaron con ForosdelWeb; aunque retirado por un tiempo
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 23:01.