Optimizar Query

07/07/2004 - 20:50 por Jorge Eldis | Informe spam
Buenas a todos,

Tengo el sisguiente problema:

Tengo un SELECT el cual me devuelve las llamadas de telefonos de una central
telefonica pero en ese SELECT pongo el nobre del pais que se llamo, asi que
hice una funcion para pasarle el numero y me devuelve el pais.

Esto funciona pero es super lento ya que la lista de paises es grande.

Como pudiera optimizar esto?

Saludos Jorge Eldis

Preguntas similare

Leer las respuestas

#1 Emilio Boucau
07/07/2004 - 21:23 | Informe spam
Hola,

podrias poner el query y contarnos que indices tienen esas tablas ?


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com
Respuesta Responder a este mensaje
#2 Liliana Sorrentino
07/07/2004 - 21:23 | Informe spam
Hola Jorge,
Supongo que tu tabla de países tendrá índice ¿no?
Por las dudas, probaría haciendo un JOIN de ambas tablas para ver si mejora
la velocidad, aunque no sé si podrá influir.
En todo caso envianos la consulta como la estás haciendo.
Saludos... Liliana.

"Jorge Eldis" escribió en el mensaje
news:
Buenas a todos,

Tengo el sisguiente problema:

Tengo un SELECT el cual me devuelve las llamadas de telefonos de una


central
telefonica pero en ese SELECT pongo el nobre del pais que se llamo, asi


que
hice una funcion para pasarle el numero y me devuelve el pais.

Esto funciona pero es super lento ya que la lista de paises es grande.

Como pudiera optimizar esto?

Saludos Jorge Eldis


Respuesta Responder a este mensaje
#3 Maxi
07/07/2004 - 22:57 | Informe spam
Hola, una funcion? hmmm ahi tienes el problema!! porque no usas la
combinacion JOIN?

Select tablapaises.pais_nombre,tabla_llamadas.* from
tabla_llamadas INNER JOIN tabla_paises on
tabla_llamadas.pais_id = tabla_paises.id




Las funciones se aplican registro a registro y haran todo lento, muy
lentoooo!!!




Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Jorge Eldis" escribió en el mensaje
news:
Buenas a todos,

Tengo el sisguiente problema:

Tengo un SELECT el cual me devuelve las llamadas de telefonos de una


central
telefonica pero en ese SELECT pongo el nobre del pais que se llamo, asi


que
hice una funcion para pasarle el numero y me devuelve el pais.

Esto funciona pero es super lento ya que la lista de paises es grande.

Como pudiera optimizar esto?

Saludos Jorge Eldis







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.714 / Virus Database: 470 - Release Date: 02/07/2004
Respuesta Responder a este mensaje
#4 Jorge Eldis
08/07/2004 - 03:13 | Informe spam
Gracias a todos.

Max el probelma es que si hago un JOIN no me mustra nada ya que los codigos
de los paises varian al igual que los numeros.

Ejemplo

Tabla de Llamadas
TBL_LLAMADAS
NumeroOrigen
NuemroDestino

Tabla de Paises
TBL_PAISES
CodigoPais
Nombre

|-|
| TBL_LLAMADAS |
|-|
| 2225847 | 13052332115 |
| 2358547 | 512445526 |
| 3154578 | 5075167833 |
|-|


||
| TBL_PAISES |
||
| 1305 | Florida |
| 51 | Peru |
| 507 | Panama |
||

Esta seria la estructura y lo que necesito que salga es algo asi

Resultado del Query

2225847 | 13052332115 Florida
2358547 | 512445526 Peru
3154578 | 5075167833 Panama


Bueno yo sigo investigando cualquier orientacion se los agradezco mucho.

Saludos Jorge Eldis

"Maxi" wrote in message
news:
Hola, una funcion? hmmm ahi tienes el problema!! porque no usas la
combinacion JOIN?

Select tablapaises.pais_nombre,tabla_llamadas.* from
tabla_llamadas INNER JOIN tabla_paises on
tabla_llamadas.pais_id = tabla_paises.id




Las funciones se aplican registro a registro y haran todo lento, muy
lentoooo!!!




Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Jorge Eldis" escribió en el mensaje
news:
> Buenas a todos,
>
> Tengo el sisguiente problema:
>
> Tengo un SELECT el cual me devuelve las llamadas de telefonos de una
central
> telefonica pero en ese SELECT pongo el nobre del pais que se llamo, asi
que
> hice una funcion para pasarle el numero y me devuelve el pais.
>
> Esto funciona pero es super lento ya que la lista de paises es grande.
>
> Como pudiera optimizar esto?
>
> Saludos Jorge Eldis
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.714 / Virus Database: 470 - Release Date: 02/07/2004


Respuesta Responder a este mensaje
#5 MAXI
08/07/2004 - 03:36 | Informe spam
Hola, pero puedes hacer un join igual!! por lo que veo no es uno a uno de
forma natural sino que tienen X caracteres de la izquierda verdad?

fijate de hacer el JOIN con la funcion LEFT hacia el campo!!

claro ademas te recomiendo que cambies un poco la estructura de esa bdd no
;-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Jorge Eldis" escribió en el mensaje
news:e$
Gracias a todos.

Max el probelma es que si hago un JOIN no me mustra nada ya que los


codigos
de los paises varian al igual que los numeros.

Ejemplo

Tabla de Llamadas
TBL_LLAMADAS
NumeroOrigen
NuemroDestino

Tabla de Paises
TBL_PAISES
CodigoPais
Nombre

|-|
| TBL_LLAMADAS |
|-|
| 2225847 | 13052332115 |
| 2358547 | 512445526 |
| 3154578 | 5075167833 |
|-|


||
| TBL_PAISES |
||
| 1305 | Florida |
| 51 | Peru |
| 507 | Panama |
||

Esta seria la estructura y lo que necesito que salga es algo asi

Resultado del Query

2225847 | 13052332115 Florida
2358547 | 512445526 Peru
3154578 | 5075167833 Panama


Bueno yo sigo investigando cualquier orientacion se los agradezco mucho.

Saludos Jorge Eldis

"Maxi" wrote in message
news:
> Hola, una funcion? hmmm ahi tienes el problema!! porque no usas la
> combinacion JOIN?
>
> Select tablapaises.pais_nombre,tabla_llamadas.* from
> tabla_llamadas INNER JOIN tabla_paises on
> tabla_llamadas.pais_id = tabla_paises.id
>
>
>
>
> Las funciones se aplican registro a registro y haran todo lento, muy
> lentoooo!!!
>
>
>
>
> Salu2
> Maxi
> Buenos Aires - Argentina
> Desarrollador Microsoft 3 Estrellas .NET
> Nunca consideres el estudio como una obligación sino como
> una oportunidad para penetrar en el bello y maravillosos
> mundo del saber.
> - Albert Einstein
>
>
>
> "Jorge Eldis" escribió en el mensaje
> news:
> > Buenas a todos,
> >
> > Tengo el sisguiente problema:
> >
> > Tengo un SELECT el cual me devuelve las llamadas de telefonos de una
> central
> > telefonica pero en ese SELECT pongo el nobre del pais que se llamo,


asi
> que
> > hice una funcion para pasarle el numero y me devuelve el pais.
> >
> > Esto funciona pero es super lento ya que la lista de paises es grande.
> >
> > Como pudiera optimizar esto?
> >
> > Saludos Jorge Eldis
> >
> >
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.714 / Virus Database: 470 - Release Date: 02/07/2004
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida