Estadísticas de uso en la base de datos
#1
Escrito 23 octubre 2014 - 10:36
Hay alguna herramienta que nos permita ver esas estadísticas mientras la base de datos está siendo usada en producción?
saludos y gracias de antemano?
#2
Escrito 23 octubre 2014 - 11:19
Que yo sepa la base de datos no se alenta lo que hace es guardar los datos.
Lo que si se alenta es la busqueda o la insercion de datos y esto no es culpa de la BD es culpa de la manera en como se hacen estas ya sea con sql u otro.
Saludos
#3
Escrito 23 octubre 2014 - 11:24
Hola
Que yo sepa la base de datos no se alenta lo que hace es guardar los datos.
Lo que si se alenta es la busqueda o la insercion de datos y esto no es culpa de la BD es culpa de la manera en como se hacen estas ya sea con sql u otro.
Saludos
Gracias por responder, si definitivamente es así (también lo sé), pero precisamente habrá algo que pueda medir el tiempo de realizar una consulta una inserción o un delete o el llamado por un trigger desde la propia base de datos, porque en delphi hay unos componentes (o había) que monitoreaba precisamente esas operaciones, pero la aplicación que consume esa base de datos la desarrollaron otros y pues me preguntan a mi, ahora ya les comente que probablemente sea su conexión a la base (red o plataforma) pero ellos perjuran que eso no es.
#4
Escrito 23 octubre 2014 - 11:29
#5
Escrito 23 octubre 2014 - 11:36
gracias
#6
Escrito 23 octubre 2014 - 02:16
Hace tiempo hice un tutorial que media la velocidad de transacciones en diferentes BD.
Aqui esta revisalo tal vez te sirva de ejemplo.
http://www.delphiacc...bird-velocidad-)-novatos/
saludos
#7
Escrito 23 octubre 2014 - 05:37
También puedes probar productos de terceros, como los de IB Surgeon. Ofrecen unas buenas aplicaciones dedicadas al mantenimiento, recuperación de datos, y de análisis de permofance. Creo que lo que pides se puede hacer con FBScanner e/o IBAnalist.
Saludos,
#8
Escrito 23 octubre 2014 - 05:40
#9
Escrito 23 octubre 2014 - 06:39
Se que otros compañeros han usado con éxitos las herramientas de IBSurgeon. Puede que si alguno saca tiempo y ve este hilo pueda ofrecerte un mejor panorama. Yo admito que en el tema de las estadísticas, el uso de gstat lo tengo un tanto verde. No he practicado suficiente este tool.
Saludos,
#10
Escrito 24 octubre 2014 - 03:09
Lo normal es que en el plan veas la palabra "natural" eso te indica que le faltaria un indice para poder acelerar esa consulta.
Lo siguiente más habitual es que al cambiar de sitio las tablas del "from" y las de los "join" de forma que la mas usada, la tabla principal digamos, este en el from ayuda mucho.
Por ejemplo:
"select * from tabla1 t1 left join tabla2 t2 on t2.id=t1.id where t2.fecha between 10.12.2014 and 15.12.2014"
Como veis, se filtra por una fecha de t2 pero en el from aparece t1. Si lo cambias ahorras mucho tiempo y el servidor se ahorra mucho trabajo:
"select * from tabla2 t2 left join tabla1 t1 on t2.id=t1.id where t2.fecha between 10.12.2014 and 15.12.2014"
Otra cosa: Nunca uses transacciones que modifiquen datos de larga duracion. Una transaccion que se inicia al entrar al programa, cambia un dato, y no hace commit hasta salir del programa afecta al rendimiento de FireBird, los cambios se hacen lo más rapido posible y se les hace un commit, todo de un golpe.
Con estos consejos conseguimos rebajar los tiempos de las consultas de forma a veces espectacular, y nunca hemos necesitado usar herramientas de terceros.
#11
Escrito 24 octubre 2014 - 07:55
#12
Escrito 28 octubre 2014 - 05:07
Gracias Delphius, estoy seguro que si y por lo pronto estoy revisando la página, Sergio, muchas gracias por los consejos, seguro los tomare en cuenta, aunque en esta ocasión no una aplicación mía por lo que no podré revisar sus querys.
..pero SI puedes añadir indices a la base de datos por tu cuenta, y FireBird los usara automaticamente!
#13
Escrito 28 octubre 2014 - 08:43
..pero SI puedes añadir indices a la base de datos por tu cuenta, y FireBird los usara automaticamente!
mmm no lo había pensado, gracias Sergio veré de esa manera, gracias!
#14
Escrito 28 octubre 2014 - 08:46
Depende... Firebird cuenta con un indicador o métrica de uso por cada índice. Dependiendo de eso evalúa si emplea un índice, otro, o ninguno...pero SI puedes añadir indices a la base de datos por tu cuenta, y FireBird los usara automaticamente!
Saludos,