Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2011
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
multiples conexiones a una base de datos con firebird

Mi muy estimado Sres


Estoy realizando una aplicacion el cual se requiere que mas de 20 usuarios esten simultaneamente conectado a una base de datos e incluso precisamente ingresando cliente, el problema esta es que si tengo usuarios ingresando clientes y otros buscando clientes en otro formulario para ser modificado o utilizado en un modulo de factura el programa en ocasiones se pega. para realizar Mis pruebas de desarrollo tengo 5 maquinas el cual 3 de ellas ingresan Clientes y 2 de ellas buscan y modifican clientes, la base de datos es firebird 2.5 y la tabla de clientes le ingrese registro de clientes actuales el cual son mas de 50,000 (cincuentamil registros) para comprobar la velocidad de busqueda pero no he logrado mejorarlo

Alguien con mas experiencia podria darme un consejo, utilizando componentes como DBExpress, ClientDataSet, DataSetProvieder.


Saludos

novato_erick
Responder Con Cita
  #2  
Antiguo 04-12-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Qué quiere decir que "en ocasiones se pega"?
Responder Con Cita
  #3  
Antiguo 04-12-2011
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
El programa no responde. o demora en agregar o enconrar un cliente.


Saludos
Responder Con Cita
  #4  
Antiguo 04-12-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues tendrás que explicarnos en detalle cómo trabajas, el código de las búsquedas, las tablas y sus índices, relaciones entre ellas, etc. porque así, sin ninguna información, poco podemos hacer
Desde luego, 20 conexiones y 50.000 registros es poquita cosa para que tarde en hacer algo.
Responder Con Cita
  #5  
Antiguo 05-12-2011
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Esta es mi tabla en la base de datos con firebird

Código SQL [-]
Create Table Clientes (
  Id_cliente Integer Not Null,
  Cedula Varchar(20) Character Set Ascii Not Null Collate Ascii,
  Nombre Varchar(100) Character Set Ascii Not Null Collate Ascii,
  Pais Varchar(50) Character Set Ascii Not Null Collate Ascii,
  Direccion Varchar(250) Character Set Ascii Not Null Collate Ascii,
  Telefono Varchar(15) Character Set Ascii Collate Ascii,
  Fax Varchar(10) Character Set Ascii Collate Ascii,
  Celular Varchar(15) Character Set Ascii Collate Ascii,
  Email Varchar(40) Character Set Ascii Collate Ascii,
  Fecha Date Default 'now',
  Observaciones Varchar(250) Character Set Ascii Collate Ascii);


Alter Table Clientes Add Primary Key (id_cliente);


Set Term ^ ;

Create Trigger Bi_clientes_id_cliente For Clientes
Active Before Insert
Position 0
As
Begin
  If (new.id_cliente Is Null) Then
      New.id_cliente = Gen_id(clientes_id_cliente_gen, 1);
End^

Set Term ; ^
Responder Con Cita
  #6  
Antiguo 05-12-2011
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo te preguntaría en el componente que hace las búsquedas tienes declarados campos LookUp ó Calculados.

Hace unos días sin ir más lejos descubrí que un proceso que realizaba 137 recibos tardaba muchísimo, primero desactive los controles xxx.DisableControls y vi que no mejoraba gran cosa.

Pensé que podían ser los campos LookUp

Código Delphi [-]
Dmclientes.IBDtsRecibos.AutoCalcFields:=False;

Coloqué la instrucción anterior antes del proceso y la contraria al finalizar y todo volvió a la normalidad.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



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
TIdTcpServer con multiples conexiones hackerinblues C++ Builder 8 11-05-2010 19:07:44
Inserciones multiples a una base de datos sarroyab SQL 2 14-09-2007 10:56:50
Conexiones de Delphi para uso de base de datos panchiviri Conexión con bases de datos 6 18-07-2007 16:43:29
Conocer el número de conexiones con mi base de datos Boris Conexión con bases de datos 1 08-07-2006 16:49:23
Conexiones abietas en una base de datos de FB felixgo Firebird e Interbase 1 22-10-2004 12:13:21


La franja horaria es GMT +2. Ahora son las 11:01:10.


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