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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-10-2012
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
Con backup transportable va igual de mal.
Responder Con Cita
  #2  
Antiguo 01-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Veamos, es un poco dar palos de ciego, pero vamos a hacer una prueba.
Abre el ibexpert, flamerobin o el que uses.
Crea una conexión a la base de datos del servidor.
Ejecuta un insert cualquiera de los que te resultan lentos:
Código SQL [-]
insert into tbTabla values (111,'hola',12)
Le das a commit y calcula cuánto ha tardado.
¿Ha tardado mucho, poco, no has notado diferencia?...
Responder Con Cita
  #3  
Antiguo 01-10-2012
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
he usado el ISQL (dime prehistórico :P), y el insert ha sido instantáneo... cosa que me alegra mucho!

voy a ver la configuración del IBDAC a ver si es todo correcto y tal...

Podría ser cosa de las transacciones? En el componente TIBDatabase hay un apartado que se llama DefaultTransaction. Dentro de este apartado, las opciones son:
- Active (boolean), ahora está a false
- DefaultCloseAction, ahora está en taRollback, y puede ser taCommit, taCommitRetaining, taRollback y taRollbackRetaining
- IsolationLevel, ahora está en iblReadCommited, y puede ser iblCustom, iblReadCommited, iblReadOnlyReadCommited, iblReadOnlyTableStability, iblSnapshot, iblTableStability
- Params (Strings), no veo que se pueda cambiar
- Tag

Y lo que no entiendo es que hace tiempo, usando los mismos componentes, pasé una aplicación de FB embedded a FB "normal", y no tuve ningún problema de rendimiento...
Responder Con Cita
  #4  
Antiguo 01-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Yo siempre uso:
Código:
read_committed
rec_version
nowait
Responder Con Cita
  #5  
Antiguo 02-10-2012
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Yo siempre uso:
Código:
read_committed
rec_version
nowait
tengo estas mismas opciones...
Responder Con Cita
  #6  
Antiguo 02-10-2012
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
Hola,

He estado mirando el rendimiento de mi aplicación mediante el dbMonitor de DevArt (la utilidad de monitoreo de funciones SQL y tal), y la cosa es bastante "simple":
- Los "SELECT * FROM tabla" tardan aproximadamente 0,00 segundos (son tablas pequeñitas, de máximo 1500 registros)
- Los "SELECT COUNT(*) FROM tabla" tardan aproximadamente 0,016 segundos
- Los "DELETE FROM ..." tardan aproximadamente 1,172 segundos (y estaba borrando UN registro)
- Los "INSERT INTO..." tardan aproximadamente 1,562 segundos (y estaba insertando UN registro)
- Después de los DELETE e INSERT, se ejecuta una cosa que se llama "CommitRetaining:" (que no sé que es y yo no lo llamo, debe ser cosa del componente) y tarda 1,152 seg en el caso del DELETE, y 1,547 seg en caso del INSERT

Que hago mal? Y que es esto del "CommitRetaining"? Que puedo hacer para mejorar el rendimiento? Pruebo de poner un Firebird (server) en una máquina con Windows XP y miro si el rendimiento es el mismo que en el servidor Linux?
Responder Con Cita
  #7  
Antiguo 02-10-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.677
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
El commit y el commitretaining sirven para confirmar el cambio hecho en la BD (insert, update, delete), si no haces commit entonces no se guardan los datos.

Creo que el problema va a ser de tu BD, que no tenga bien definido los índices, relaciones, etc. imposible de saber si no la podemos ver y no sabemos las sentencias exactas que haces.
Responder Con Cita
Respuesta


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 mal rendimiento en linux rastafarey Firebird e Interbase 26 11-06-2008 19:52:49
Firebird en Linux luiz_leo Conexión con bases de datos 3 07-08-2007 11:30:28
firebird on linux julyus Conexión con bases de datos 1 28-05-2007 19:41:32
FireBird se Duerme en Linux teletranx Linux 3 17-11-2004 21:39:53
Firebird en Linux edy_aca Firebird e Interbase 3 01-10-2004 16:47:51


La franja horaria es GMT +2. Ahora son las 16:46:40.


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