Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2007
Paradiso Paradiso is offline
Miembro
 
Registrado: jun 2004
Posts: 68
Poder: 20
Paradiso Va por buen camino
Thumbs up Ayuda Urgente, Por favor. Tarda mucho en traer los datos.

Hola a todos.
Seriamente.
Delphi 7 + Interbase 6.5 + DbExpress + DevExpress.

esta es la tabla y su estructura:

CREATE GENERATOR GEN_TC_CLIENTE_ID;

CREATE TABLE TC_CLIENTE (
NRO AUTONUMERICO NOT NULL /* AUTONUMERICO = INTEGER */,
RAZON_SOCIAL NOMBRE_CORTO NOT NULL COLLATE ES_ES /* NOMBRE_CORTO = VARCHAR(50) */,
NOMBRE_COMERCIAL NOMBRE_CORTO COLLATE ES_ES /* NOMBRE_CORTO = VARCHAR(50) */,
CONDICION_IVA AUTONUMERICO NOT NULL /* AUTONUMERICO = INTEGER */,
CUIT CUIT NOT NULL /* CUIT = VARCHAR(13) */,
DIRECCION DOMICILIO NOT NULL /* DOMICILIO = VARCHAR(30) */,
PROVINCIA AUTONUMERICO /* AUTONUMERICO = INTEGER */,
LOCALIDAD AUTONUMERICO /* AUTONUMERICO = INTEGER */,
CODIGO_POSTAL CODIGO_POSTAL /* CODIGO_POSTAL = VARCHAR(20) */,
TELEFONO TELEFONO /* TELEFONO = VARCHAR(40) */,
FAX TELEFONO /* TELEFONO = VARCHAR(40) */,
MOVIL TELEFONO /* TELEFONO = VARCHAR(40) */,
NEXTEL TELEFONO /* TELEFONO = VARCHAR(40) */,
EMAIL EMAIL /* EMAIL = VARCHAR(100) */,
LISTA_PRECIO LISTA_PRECIO /* LISTA_PRECIO = INTEGER */,
ULTIMA_COMPRA FECHA_HORA /* FECHA_HORA = TIMESTAMP */,
ULTIMO_PAGO FECHA_HORA /* FECHA_HORA = TIMESTAMP */,
SALDO "PRECIO UNITARIO" DEFAULT 0 NOT NULL /* "PRECIO UNITARIO" = NUMERIC(15,4) */,
ACTIVO ACTIVO DEFAULT 0 NOT NULL /* ACTIVO = INTEGER */,
SALDO_I NUMERIC(15,2) DEFAULT 0.00 NOT NULL,
CONTACTO VARCHAR(50) CHARACTER SET WIN1251,
NOTA BLOB SUB_TYPE 1 SEGMENT SIZE 4096,
CONVENIO_MULTILATERAL VARCHAR(12) CHARACTER SET WIN1251,
CONDICION_VENTA INTEGER DEFAULT 0,
CATEGORIA_CLIENTE VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
GERENTE VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
JEFE_DE_COMPRA VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
JEFE_TECNICO VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CATEGORIA_INSTALADOR VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_1 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_2 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_3 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_4 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
INSTALADOR_5 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
EMPRESA_DE_SERVICIOS_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
EMPRESA_DE_SERVICIOS_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
EMPRESA_DE_SERVICIOS_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_1 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_2 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_3 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_4 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
CONTACTO_5 VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_4 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
MAIL_CONTACTO_5 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_4 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONOS_INSTALADOR_5 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
NOTA_CONTACTOS BLOB SUB_TYPE 1 SEGMENT SIZE 4096,
TELEFONO_CONTACTO_1 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_2 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_3 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_4 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES,
TELEFONO_CONTACTO_5 VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE ES_ES
);




/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/

ALTER TABLE TC_CLIENTE ADD CONSTRAINT PK_TC_CLIENTE PRIMARY KEY (NRO);


/******************************************************************************/
/**** Indices ****/
/******************************************************************************/

CREATE INDEX TC_CLIENTE_IDX1 ON TC_CLIENTE (RAZON_SOCIAL);
CREATE INDEX TC_CLIENTE_IDX2 ON TC_CLIENTE (NOMBRE_COMERCIAL);
CREATE INDEX TC_CLIENTE_IDX3 ON TC_CLIENTE (NRO, PROVINCIA, LOCALIDAD);


/******************************************************************************/
/**** Triggers ****/
/******************************************************************************/


SET TERM ^ ;


/******************************************************************************/
/**** Triggers for tables ****/
/******************************************************************************/



/* Trigger: TC_CLIENTE_BI */
CREATE TRIGGER TC_CLIENTE_BI FOR TC_CLIENTE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.NRO IS NULL) THEN
NEW.NRO = GEN_ID(GEN_TC_CLIENTE_ID,1);
END


===================================================

" Esta es la Consulta:"



SELECT C.NRO,
C.RAZON_SOCIAL,
C.NOMBRE_COMERCIAL,C.CUIT,
C.LISTA_PRECIO,
C.CONDICION_VENTA,
C.DIRECCION,
C.NOTA,
FP.DESCRIPCION AS FORMADEPAGO
FROM TC_CLIENTE C
JOIN TC_FORMA_PAGO FP ON FP.NRO = TC_CLIENTE.CONDICION_VENTA
WHERE ( (C.ACTIVO = 0) AND :OPCION = 0) OR
( C.ACTIVO = 0 AND C.CONDICION_IVA = :OPCION ) OR
( C.ACTIVO = 0 AND C.CONDICION_IVA > 1 AND :OPCION = 2)
ORDER BY C.NOMBRE_COMERCIAL ASC


Este es el Problema: la cantidad de registros es de 34.000 y en un Atlhon 3000+ con 1 gb de RAM, tarda muchisimo en abrir la misma. si lo hago desde IBExpert no tarda nada, pero desde mi aplicacion si.

uso para mostrar los datos una grilla DBGrid.
la cual he tocado para que optimice la vista considerando la cantidad de datos, pero ahun asi sigue tardando muchisimo.
en las maquinas donde va a correr la aplicacion tarda mas de 1 minuto en traer los datos.

Realmente no se que hacer. para solucionar este problema
saludos y gracias.
Responder Con Cita
 



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
¿Ayuda urgente por favor? yarielrs Windows 38 05-05-2007 00:50:49
Ayuda por favor es URGENTE Costeño_sam Conexión con bases de datos 3 25-01-2007 10:47:24
Ayuda urgente por favor JulioGO Varios 2 05-05-2006 17:21:24
Por que tarda mucho en abrir un EXE IcebergDelphi Varios 5 16-06-2004 11:05:28
ayuda urgente por favor haffo Varios 2 01-10-2003 03:00:40


La franja horaria es GMT +2. Ahora son las 12:54:03.


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