FoxPro/Visual FoxPro - consulta SQL

 
Vista:

consulta SQL

Publicado por Saul (10 intervenciones) el 07/02/2007 05:42:45
HOla amigos tengo una gran duda ...

Tengo hecho una storedProcedure y aparentemente funciona bien
con el SQL Query Analyzer y si quiero conectarme con fox tambien lo hago asi.


fFechaIni = CTOD("01/10/2006")
fFechaFin = DATE()
xEmpresa = '01'

=Sqlexec(Conecta_SQL,"EXEC Vista_recepcion ?xEmpresa, ?fFechaIni, ?fFechaFin","Rep_")

hasta aqui todo bien.. pero el problema es que cada vez que va creciendo la base de datatos SQL con nuevos registros se esta poniento lento cada vez que busco esta consulta.

Que puedo hacer para mejorarla..

Gracias .

Les mando copia de mi datos en SQL SERVER 2000

CREATE PROCEDURE Vista_Recepcion
@Empresa Character(2),
@Fechai datetime,
@Fechaf datetime
AS
SELECT recepcion_con.prefijo_con, recepcion_con.numero_con, recepcion_con.fecha_rec, recepcion_con.hora, recepcion_con.medida_con, recepcion_con.estado_con,
recepcion_con.tipo_mov, recepcion_con.tcontene, tcontenedor.nombre_con, rubro.nombre_rub, recepcion_con.buque, buques.nombre_buq, recepcion_con.naviera, cliente.nombre_cli, recepcion_con.piloto,
pilotos.nombre_piloto, recepcion_con.transporte, transporte.nombre_tran, recepcion_con.placa,
recepcion_con.lote, recepcion_con.sector,
recepcion_con.patio, recepcion_con.tara, recepcion_con.atc, recepcion_con.envio, recepcion_con.fecha_env, recepcion_con.fecha_atc,
recepcion_con.despacho, recepcion_con.lote2,
cliente.dias_lleno, cliente.valorxdialleno,cliente.dias_lleno2, cliente.valorxdialleno2,cliente.dias_vacio, cliente.valorxdiavacio, recepcion_con.transito,cliente.dias_llenot
FROM recepcion_con INNER JOIN
rubro ON recepcion_con.Empresa = rubro.Empresa AND recepcion_con.tipo_mov = rubro.codigo_rub INNER JOIN
buques ON recepcion_con.Empresa = buques.Empresa AND recepcion_con.buque = buques.codigo_buq INNER JOIN
cliente ON recepcion_con.Empresa = cliente.Empresa AND recepcion_con.naviera = cliente.codigo_cli INNER JOIN
pilotos ON recepcion_con.Empresa = pilotos.Empresa AND recepcion_con.piloto = pilotos.licencia_piloto INNER JOIN
tcontenedor ON recepcion_con.Empresa = tcontenedor.Empresa AND
recepcion_con.tcontene = tcontenedor.codigo_con INNER JOIN
transporte ON recepcion_con.Empresa = transporte.Empresa AND recepcion_con.transporte = transporte.codigo_tran
WHERE recepcion_con.empresa = @empresa AND recepcion_con.fecha_rec >= @fechai AND recepcion_con.fecha_rec <= @fechaf
ORDER BY recepcion_con.fecha_rec, recepcion_con.prefijo_con, recepcion_con.numero_con
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

RE:consulta SQL

Publicado por jorge (423 intervenciones) el 07/02/2007 17:30:09
en que version de fox trabajas?
lo mas seguro es que sea por el tipo de conexion con SQL, ADO especificamente atraves de fox en lo particular he notado esa "falla". trabajo con VFP 7, no se como este con otras versiones de fox.
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:consulta SQL

Publicado por saul (10 intervenciones) el 07/02/2007 18:28:47
Tu crees que si uso un ODBC cambia la cituacion..

yo trabajo con VFP 8.0

Y el SQL SERVER 2000 (sin parches..)

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:consulta SQL

Publicado por Luis Lujan (16 intervenciones) el 07/02/2007 18:30:58
Yo te recomendaria que utilices el SHOW EXECUTION PLAN de SQL Query Analizer, de tal manera que puedas saber en que parte del script se hace mas lenta la solicitud. A lo mejor con adicionar algunos indices puedes solucionar tu problema.
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