Power Builder - optimizar busquedas sql anywhere

 
Vista:
sin imagen de perfil

optimizar busquedas sql anywhere

Publicado por dany rojas (10 intervenciones) el 04/04/2003 02:46:12
hola amigos,

desde hace algún tiempo vengo teniendo problemas con la velocidad de algunas consultas desde sql anywhere, si conocen algún método de forzar indices o encaminar busquedas me seria de gran ayuda

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

(Index nombre_indice)

Publicado por JAGC (169 intervenciones) el 07/04/2003 14:53:21
Para forzar índices en un select podes utilizar la instrucción "Index" de la siguiente manera :

Select columna
From tabla (index nombre_indice)
where columna = valor

Ojala te sirva

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:(Index nombre_indice) JAGC NO OPTIMIZA

Publicado por dany rojas (10 intervenciones) el 08/04/2003 21:49:16
ESTE COMANDO YO LO USO PERO NO ME DA NINGUN RENDIMIENTO DIFERENTE, LO QUE REALMENTE DESEO ES AGILIZAR LAS BUSQUEDAS, SI CONOCEN ALGUN METODO, SE LOS AGRADEZCO

FELICIDADES DESDE COLOMBIA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:(Index nombre_indice) JAGC NO OPTIMIZA

Publicado por Milson Cardona (613 intervenciones) el 09/04/2003 18:15:54
Un saludo especial desde COLOMBIA

Bueno, la anterior es la intrucción para forzar a una consulta para que utilice un indice determinado, sino tiene el efecto que deseas entonces el problema en realidad lo debes buscar:

1. el indice que estas utilizando no es el indicado, tal vez necesite revizarlo y hacerle algunas modificaciones o bien crear uno nuevo.

2. el problema no es de indices sino más bien de las relaciones que tienes en la tabla

3. lo más probable es que el problema lo tengas en el QUERY que estas ejecutando, tal vez no sea el más óptimo.... recuerda que:
- todas las tablas que utilizas deben tener un JOIN en el WHERE.
- la sentencia IN es demasiado lenta
- los SELECTs dentro del FROM por lo general son muy buena alternativa
- en el WHERE debes colocar primero las condiciones que mas registros descartan(las que más filtran).
- en ocasiones UNDERJOIN a veces reducen tiempo de procesamiento, aunque a veces también lo aumentan depende la forma en que las utilices.

tal vez si pasas una descripción del QUERY que estas utilizando te podamos ayudar de mejor forma.

suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

descripcion completa, JAGC, Milson

Publicado por dany rojas (1 intervención) el 09/04/2003 19:23:05
cordial saludo desde colombia

tengo una aplicacion que maneja volumenes importantes de datos 150000 registros o mas por tabla, y cuando trato de ejecutar consultas asi sea desde la misma tabla se demora demasiado, esto no mejora ni con la instruccion de forzado de indices , la misma aplicacion , corriendo en sql server de microsoft, presentaba el mismo rendimiento, incluso sobre la misma tabla, pero logre corregir el problema forzando la busqueda por el indice lo cual reducia cualquier tiempo de consul de n segundos a 1 maximo 2, he buscado el metodo para realizar esta optimización por SQL anhywhere y ha sido imposible, ese es mi problema,
consultas yan sencillas como un:
select count(*) from tabla (index indice)); para uan tabla con 150000 regisros se toma entre 45 y 60 segundos, peor cuando hablo de consultas compuestas por varias tablas.

espero esta informacion sea clara y puedan colaborarme.

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:descripcion completa, JAGC, Milson

Publicado por Milson Cardona (613 intervenciones) el 09/04/2003 21:31:58
Un saludo especial desde COLOMBIA

porque no consultas en el foro de SQL, es posible que el SQL ANYWHERE no permita indexar adecuadamente los selects, lo digo porque estos motores gratuitos tienen muchas restricciones. como tu comentas en el POST, es muy extraño que en SQL SERVER funcione y en el SQL ANYWHERE no.

lamento no poder ayudarte como tu esperabas, pero la verdad no he trabajado mucho con el SQL ANYWHERE... lo que tu comentas en ORACLE se puede hacer sin problemas

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar