Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Consulta velocidad consultas en Firebird (https://www.clubdelphi.com/foros/showthread.php?t=15778)

Luisma 04-11-2004 17:04:28

Consulta velocidad consultas en Firebird
 
A ver por donde empiezo??
Bueno, lo primero he buscado en los foros pero no he encontrado nada
por eso planteo mi consulta

El caso es que tengo varios clientes conectados a un servidor con firebird
1.5.1
Esta instalado el Super Server

Todos los equipos tienen XP

Desde estos clientes, ejecuto una consulta (select ...) que aproximadamente tarda unos 3 segundos.
Cuando esta consulta la lanzo simultaneamente o en un intervalo de medio segundo entre equipos desde 2 equipos el tiempo de respuesta en los dos se duplica
Si la lanzo de tres equipos se y triplica y asi sucesivamente.

Pensaba que lo logico era que que uno tardara 3 segundos, el segundo algo mas, el tercero algo mas etc... pero no que se sumaran los tiempos y la respuesta fuera la misma en todos los equipos.

En principio esto me ocurre con varias consultas que he probado

No se si a alguine se le ocurre que puedo estar haciendo mal, como conseguir mayor velocidad, cualquier sugerencia es bienvenida

StartKill 04-11-2004 23:52:20

Holas,

No he tenido ningun "encuentro cercano del tercer tipo" con firebird, pero la poca experiencia con Interbase 7.1 y Delphi 7.0 me han enseñado que para mis consultas sean optimas/rapidas---> son crear los indices necesarios para dichas consultas.

Por ejemplo
Código SQL [-]
Select * from tabla01 where fcodigo='1020350'

para que esta consulta sea rapida necesitas un indice para el campo fcodigo

En un comienzo no le preste mucho interes a los indices ya que cuando hacia una consulta era veloz, pero cuando migre data...."ya la tabla llena" se notaba lento.

Inclusive (ojo pestaña y ceja), tratar de no hacer consultas como lo viejos tiempos del clipper/foxpro--grillas de toda nuestra data--es el peor "error" que se puede cometer---claro tablas chiquitas si podeis. :D

No quiero subestimar tu experiencia es solo un indicador para otros que posiblemente esten empezando con este motor de base de datos.

Si este no fuera tu caso, desconozco el error y francamente me gustaria saber la solucion a ello.

Ahora, comentas que la demora empieza a sumarse por cada consulta de cada pc, humm..., pienso que cada pc que ataque al servidor, demoraria de acuerdo al criterio de seleccion, pero si la consulta es la misma en todas las pc no debria demorar ya que el servidor tendria ya resuelto el "select"

Al menos esa es mi humilde opinion, (no se-si lo lei, me lo djieron o lo soñe) no se que opinaran nuestros moderadores :cool:

Your friend

StartKill
Lima-Perú

Luisma 05-11-2004 08:55:29

Gracias por la respuesta
La verdad es que el tema de los indices, tampoco le habia prestado mucha atencion, pero es lo primero que mire en cuanto me encontre con este tema, y ahora todos los indices necesarios para la consulta estan creados.

seguimos a la espera ;-)

Mick 05-11-2004 23:14:28

Es totalmente normal que si una consulta tarda 3 segundos 2 consultas iguales hechas a la vez tarden 6 segundos. El microprocesador tiene una velocidad de proceso fija, no puedes hacer que haga los calculos mas rapido.
Las consultas que haces tienen que ser muy "bestias" para que tarden 3 segundos o no estan definidos los indices adecuados para acelerar la consulta. Los indices hay que definirlos de acuerdo con como sean las queries que se hagan. Hay que analizar cada query que vaya lenta y definir los indices de la forma necesaria para que la sentencia los pueda aprovechar: los campos y el orden de ellos dentro del indice tienen que estar exactamente ajustados a la query, sino no valen de nada.
Si posteases la query e indicases cuantos registros por tabla e indices tienes, etc, quizas se pudiese dar una solucion mas concreta.

Saludos


La franja horaria es GMT +2. Ahora son las 00:33:16.

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