Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #28  
Antiguo 12-08-2010
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 23
Choclito Va por buen camino
gracias por la respuesta

Muchas gracias amigo guillotmarc, he estado probando con los select por separado en el ibplanalyzer y tengo problemas en los iguientes select:
Código SQL [-]
select  r.nro_recibo,cast(r.fecha as date),v.cantidad||'==>'||m.nombre_producto||'==>'||p.nombre, case r.porcentaje_cobro when 100 then  v.costo else (r.porcentaje_cobro*v.costo)/100 end,r.costo_total,r.literal,r.nro_ambulatorio,r.usuario,r.tipo_paciente,r.nro_asegurado,r.nro_intern  acion,r.factura,cast(r.fecha as time),r.monto_cobrar,r.porcentaje_cobro,v.nro,r.nro_factura
from  recibo r
    inner join venta_med v on v.nro_recibo=r.nro_recibo
    inner join  medicamento m on m.id_producto=v.id_medicamento
    inner join presentacion_med p on m.id_presentacion=p.id_presentacion
where ((r.fecha  between :f1 and :f2+1 and r.fecha<>:f2+1)and((r.cancelado=:valor)or(r.cancelado='M')))
ya tengo creado indices tanto por llaves primarias y foraneas y en el ibplananalizer en la pestaña de la grafica me muestra que las tres tablas estan indexadas pero en la pestaña PLAN analisys me muestra lo siguiente
PLAN JOIN (R INDEX (RECIBO_IDX1), V INDEX (VENTA_MED_IDX1), M INDEX (PK_MEDICAMENTO), P INDEX (PK_PRESENTACION_MED))

en el arbol que genera del JOIN en el detalle que genera del indice VENTA_MED_IDX1 en el campo selectivity me muestra el valor de 4.57, comentarles que VENTA_MED_IDX1 es un indice que he creado en la tabla venta_med sobre el campo nro_recibo, como puedo solucionarlo???
Comentarles que algo similar me pasa en el siguiente select:
Código SQL [-]
select  r.nro_recibo,cast(r.fecha as date),a.nombre_a, case r.porcentaje_cobro when 100 then  e.costo else (r.porcentaje_cobro*e.costo)/100 end,r.costo_total,r.literal,r.nro_ambulatorio,r.usuario,r.tipo_paciente,r.nro_asegurado,r.nro_intern  acion,r.factura,cast(r.fecha as time),r.monto_cobrar,r.porcentaje_cobro,e.nro,r.nro_factura
from recibo r
     inner join  registro_examenes_lab E on E.nro_recibo=r.nro_recibo
     inner join analisis_clinico A on  a.nombre_a=e.examen
where ((r.fecha between :f1 and :f2+1 and r.fecha<>:f2+1)and((r.cancelado=:valor)or(r.cancelado='M')))
Esta vez me muestra lo siguiente:
PLAN JOIN (R INDEX (RECIBO_IDX1), E INDEX (FK_REGISTRO_EXAMENES_LAB_2), A INDEX (PK_ANALISIS_CLINICO))
y el icono de exclamación me muestra sobre el indice FK_REGISTRO_EXAMENES_LAB_2 que es el indice sobre el campo nro_recibo de la tabla registro_examenes_lab
En los dos select la exclamacion esta sobre los indices creados sobre el campo nro_recibo, ya he creado nuevos indices sobre esos campos y el icono de exclamacion me muestra sobre los indices creados
Que es lo que tendria que cambiar ?? o porque en esos dos select en esos indices me muestra un valor mayor a 1 en el campo selectivity del ib plananalizer
Muchas gracias por sus comentarios y bueno solo decir que importante son los indices para agilizar consultas
Y disculpas por responder tardee
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Firebird, tarda mucho en conectar a base de datos en red sonjeux Conexión con bases de datos 1 09-04-2009 08:29:40
rewrite tarda si no hay red jonmendi OOP 0 25-09-2008 10:03:23
Ayuda Urgente, Por favor. Tarda mucho en traer los datos. Paradiso Firebird e Interbase 25 31-05-2007 04:02:37
Form que se tarda mucho en abrir IVAND Varios 3 29-05-2007 02:14:07
Por que tarda mucho en abrir un EXE IcebergDelphi Varios 5 16-06-2004 11:05:28


La franja horaria es GMT +2. Ahora son las 20:06:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi