Busqueda de Articulos lenta

24/02/2005 - 14:41 por yasumadre | Informe spam
Hola:


Tengo una tabla de Articulos de 30,000 registros, cuando el usuario
desde una terminal, quiere acceder y buscar una palabra dentro de toda la
tabla de articulos tarda aproximadamente 20 a 25 segundos, lo hago de la
siguiente manera

select *, recno() from productos into Cursor Temporal;
where Upper(productos.codigo) like "%"+upper(alltrim(abuscar))+"%" or ;
Upper(productos.detalle) like "%"+upper(alltrim(abuscar))+"%" order by
detalle

alguna idea de como podria hacer mas rapido esto.


desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 Alex Feldstein
25/02/2005 - 00:58 | Informe spam
On Thu, 24 Feb 2005 10:41:20 -0300, "yasumadre"
wrote:

Tengo una tabla de Articulos de 30,000 registros, cuando el usuario
desde una terminal, quiere acceder y buscar una palabra dentro de toda la
tabla de articulos tarda aproximadamente 20 a 25 segundos, lo hago de la
siguiente manera

select *, recno() from productos into Cursor Temporal;
where Upper(productos.codigo) like "%"+upper(alltrim(abuscar))+"%" or ;
Upper(productos.detalle) like "%"+upper(alltrim(abuscar))+"%" order by
detalle

alguna idea de como podria hacer mas rapido esto.



Tu consulta no es optimizable. No es mucho lo que puedes hacer. Al
menos tener indices con TAGs por Upper(productos.codigo) y lo mismo en
detalle.

Por otro lado, para ganar un poco dale la variable abuscar ya con
Upper() y Alltrim() en lugar de calcularlo dentro de la sentencia.



Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net
Respuesta Responder a este mensaje
#2 yasumadre
25/02/2005 - 14:04 | Informe spam
Bueno, muchas gracias por responder..


"Alex Feldstein" escribió en el mensaje
news:
On Thu, 24 Feb 2005 10:41:20 -0300, "yasumadre"
wrote:

> Tengo una tabla de Articulos de 30,000 registros, cuando el usuario
>desde una terminal, quiere acceder y buscar una palabra dentro de toda la
>tabla de articulos tarda aproximadamente 20 a 25 segundos, lo hago de la
>siguiente manera
>
> select *, recno() from productos into Cursor Temporal;
> where Upper(productos.codigo) like "%"+upper(alltrim(abuscar))+"%"


or ;
> Upper(productos.detalle) like "%"+upper(alltrim(abuscar))+"%" order


by
>detalle
>
>alguna idea de como podria hacer mas rapido esto.

Tu consulta no es optimizable. No es mucho lo que puedes hacer. Al
menos tener indices con TAGs por Upper(productos.codigo) y lo mismo en
detalle.

Por otro lado, para ganar un poco dale la variable abuscar ya con
Upper() y Alltrim() en lugar de calcularlo dentro de la sentencia.



Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida