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

No entiendo esto ¿? por favor que alguien me aclare

Estas en el tema de No entiendo esto ¿? por favor que alguien me aclare en el foro de Bases de Datos General en Foros del Web. Mirad, si hago esto: select * from archivos where rand in ('valor1','valor2','valor3'...) La consulta no tarda absolutamente nada... el problema viene cuando hago: select * ...
  #1 (permalink)  
Antiguo 22/01/2008, 16:56
 
Fecha de Ingreso: diciembre-2002
Ubicación: bilbao
Mensajes: 345
Antigüedad: 21 años, 4 meses
Puntos: 3
No entiendo esto ¿? por favor que alguien me aclare

Mirad, si hago esto:
select * from archivos where rand in ('valor1','valor2','valor3'...)

La consulta no tarda absolutamente nada...

el problema viene cuando hago:

select * from archivos where rand in (select distinct(idsong) rand from tags where tag = 'camela')

no entiendo como puede tardar tanto ( varios segundos ) cuando

select distinct(idsong) rand from tags where tag = 'camela'

no tarda nada.


Por favor, una aclaración?

Gracias!
__________________
aste nagusia
  #2 (permalink)  
Antiguo 22/01/2008, 17:06
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 6 meses
Puntos: 25
Re: No entiendo esto ¿? por favor que alguien me aclare

MAN eso es de base de datos y este foro es de PHP postealo en el foro correspondiente gracias...
  #3 (permalink)  
Antiguo 22/01/2008, 17:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: No entiendo esto ¿? por favor que alguien me aclare

Tema trasladado a Bases de Datos.

Por favor publica en los foros correctos.
  #4 (permalink)  
Antiguo 24/01/2008, 03:35
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: No entiendo esto ¿? por favor que alguien me aclare

Buenas,
Primero, el titulo no es muy descriptivo y podrías decir que BD utilizas....

A más registros en la tabla "archivos" más tardará la consulta, fijate que compara cada valor de "rand" con todos los valore de "tags" hasta que lo encuentra (si no lo encuentra los compara con todos).
Deberias utilizar JOIN entre las tablas.

Un saludo
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 02:53.