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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-08-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
¿mantenimiento a base de datos firebird?

Hola


firebird requiere de mantenimiento

¿que es mantenimiento a una base de datos?

lo pregunto por esto.

me contaron de un caso en que una base de datos mysql
se ponia lenta. y como no era un experto en mysql los empleados
de esa empresa. no la lograban hacer que funcionara bien. osea
que tardaba mucho en responder las querys

y que contratarona un experto mysql y le dio mantenimiento
y la base de datos funciono mucho mas rapido


ahora.

¿firebird que clase de mantenimiento requiere
hay basura o registros que hacen lenta las querys?


¿como se le da ese mantenimiento?

tengo una base de datos de el proyecto opensource ventas.
que es una aplicacion de punto de ventas.

y esta se pone lenta al mostrar los reportes. de ventas y otros

despues de 1000 registros en querys
con left join inner join se tarda mucho y no muestra nada.

se cuelga la aplicacion.

le quiero dar mantenimiento no se si se requiere alguna herramienta
software especial

igual escucho mucho que oracle se requiere de un DBA
por que necesita mantenimiento.

gracias por su tiempo
Responder Con Cita
  #2  
Antiguo 14-08-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Pues más que mantenimiento en el sentido de borrar basura o similares yo miraría la forma de optimizar los querys, evitando hacer procesos innecesarios y además creando más indices para que los querys mejoren en velocidad... también evitaría sentencias tales como:

Código SQL [-]
where t1.Codigo in (select t2.CodigoRelacion from XTabla as t2)

y los cambiaría por algo como


Código SQL [-]
where exists (select t2.CodigoRelacion from XTabla as t2 where t2.CodigoRelacion = t1.Codigo)
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #3  
Antiguo 14-08-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Pero si se trata de borrar basura con un bkup resture sería suficiente.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #4  
Antiguo 14-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por RONPABLO Ver Mensaje
Pero si se trata de borrar basura con un bkup resture sería suficiente.
Suficiente.


Si en algo destaca firebird (y destaca en muchas cosas) es que casi no necesita mantenimiento.
Responder Con Cita
  #5  
Antiguo 15-08-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
eso de los indices es nuevo para mi.

apenas encontre esto

http://www.intitec.com/varios/Firebird-Indices.pdf

http://www.delphiaccess.com/forum/tu...-para-novatos/

esto de los indices.

que otra regla es buena seguir para donde ponerlos

en primary key ?


si la base de datos ya esta hecha y andando.
¿como se puede mejorar su rendimiento sin alterar su estrucutra de datos.?
¿osea si ya se tienen 1000 registros las tablas se tienen que poner indices o
reagrupar la informacion en otras tablas.?
voy a hacer las pruebas


con las trablas (yo mismo las voy a ahcer)
ventas
ventasde talles
cliente
vendedor

el chiste es hacer un reporte
que me muestre las ventas del dia o por periodo de fechas
y me de el total de lo vendido en ese periodo de tiempo

aparte otro reporte que me de que vendio cuanto y lo agrupe por vendedor
y por periodo algo asi

ventas del perido 14 agosto 2011 al 30 agosto 2011

total vendido 1000 000

ventas por vendedor
vendedor JXJ 1000
vendedor juan 999999

un monton de reportes raros. que me piden como
cuanto se vendio por tipo de comprobante. nota, tiket factura.
y desglozar agrupando por vendedor. o por caja.
todo por un periodo de tiempo.

gracias

RONPABLO

Casimiro Notevi
Responder Con Cita
  #6  
Antiguo 15-08-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Los primary normalmente estan indexados, los indices se ponen en campos de mucho uso, por ejemplo si tiene una tabla donde hace querys que regularmente hace un where como este:

Código SQL [-]
... where fecha between :f1 an :f2

Entonces yo pondría un indice al campo fecha, este indice se puede crear o poner en cualquier momento, osea si la tabla ya tiene un millón de registros no la va afectar. He visto querys que se demoran hasta 20 minutos y al ponerle un indice bien ubicado pasa a demorarse pocos segundos. una tabla puede tener muchos Indices, pueden ser compuestos... pueden ser únicos o no... en los joins es muy recomendable que los campos que relaciones dichos joins estén indexados.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #7  
Antiguo 15-08-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Cita:
Empezado por RONPABLO Ver Mensaje
Pero si se trata de borrar basura con un bkup resture sería suficiente.


jajaja es que resture... que pena ---> Restore
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #8  
Antiguo 15-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por JXJ Ver Mensaje
[..]
si la base de datos ya esta hecha y andando.
¿como se puede mejorar su rendimiento sin alterar su estrucutra de datos.?
¿osea si ya se tienen 1000 registros las tablas se tienen que poner indices o
reagrupar la informacion en otras tablas.?
voy a hacer las pruebas [..]
Si tienes problemas con sólo 1000 registros es que necesitas hacer las consultas de otra forma o estás haciendo algo incorrectamente.
Ten en cuenta que 1000 registros no es nada, habitualmente tengo siempre una BD con más de diez millones de registros por tabla para hacer pruebas, incluso en algunas tablas más usadas hacemos pruebas con muchísimos más registros, en una tabla de movimientos de artículos en almacenes tiene más de cien millones de registros, así que si va bien con esa cantidad de registros entonces irá mejor con menos, de esa manera "no nos pillamos los dedos". Ese tipo de pruebas es la que hacemos antes de entregar al cliente.
Responder Con Cita
  #9  
Antiguo 15-08-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
hola casimiro notevi

como haces las pruebas.

yo voy a hacer mi tabla y voy a hacer un programa delphi que inserte
de 100 en 100 ventas y tambien sus datos de aquien se le vendio y quien atendio
y quien es el supervisro y tambien con el detalle de 100 productos vendidos por
cada venta.

ando haciendolo con delphi y ibdac de devart.

¿con que software o como lo haces.?

encontre que

http://www.sqlmanager.net/en/product.../datagenerator

ese programa sirve para algo asi. que es muy generico

gracias por su tiempo.
Responder Con Cita
  #10  
Antiguo 16-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Las pruebas las hago con todas las sentencias sql que voy añadiendo al programa.

Para crear la BD sólo usé un "plugin" del ibexpert, pero te vale cualquiera, o lo puedes hacer tú mismo, un simple bucle y metes datos aleatorios, lo más parecido a lo real que vayas a usar después.
Responder Con Cita
  #11  
Antiguo 16-08-2011
gastelumri gastelumri is offline
Miembro
 
Registrado: oct 2004
Posts: 20
Poder: 0
gastelumri Va por buen camino
Muchos indices?

Corríjanme por favor si estoy mal… Los índices te ayudaran a realizar búsquedas mas rapidas, pero tengo entendido que usar muchos índices también te puede alentar la inserción de nuevos datos, o si esto sucede en otras base de datos…



Debes hacer un balance en la cantidad de indices...

Última edición por gastelumri fecha: 16-08-2011 a las 15:06:29.
Responder Con Cita
  #12  
Antiguo 16-08-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Cita:
Empezado por gastelumri Ver Mensaje
Corríjanme por favor si estoy mal… Los índices te ayudaran a realizar búsquedas mas rapidas, pero tengo entendido que usar muchos índices también te puede alentar la inserción de nuevos datos, o si esto sucede en otras base de datos…



Debes hacer un balance en la cantidad de indices...

Como tal cuando he hablado de indices no he dicho poner muchos indices, he dicho poner indices en campos de mucha referencia. Y aunque un indice puede volver "lenta" una inserción, suele ser despreciable y se suele notar en inserciones masivas (yo lo he notado pasando 100 mil registros donde se me ha demorado 2 o 3 minutos más que si no tuviera el indicie y la verdad para tantos datos y una cosa que hago esporádicamente prefiero la velocidad de consultas) y no en inserciones individuales.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
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
Base de Datos de Firebird shaymon325 Firebird e Interbase 16 08-02-2011 20:13:55
perdida de datos en base de datos firebird gmontes Firebird e Interbase 7 14-02-2009 06:39:21
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11-02-2007 15:17:37
base de datos firebird Zehcliv Conexión con bases de datos 3 04-10-2006 17:45:27
Ejemplo de formulario generado en PHP para mantenimiento datos HombreSigma PHP 4 20-08-2004 00:49:45


La franja horaria es GMT +2. Ahora son las 19:14:00.


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