RE:ACELERAR ACCESO A BASE DE DATOS EN INTERBASE 6.
Basicamente:
1- Afinar indices: Mirar (a parte de los primarios) que campos pueden beneficiarse de tener indicies adicionales (por ejemplo, si Codigo es un campo de texto y se busca mucho por el, puede ayudar agregar un indice a Codigo)
2- Particionar BD en diferentes discos fisicos (no se si Interbase 6 lo permite, una opcion adicional es usar RAID pero eso requiere cambios de hardware, asi que creo esta fuera de orden)
3- Usar SQL (si accedes a travez de TTable y sus parecidos el acceso TIENE que ser lento con una base de datos SQL como Interbase). Esto implica rediseñar el acceso a datos para trabajar solo con el minimo conjunto de informacion. Por ejemplo, si hay una pantalla donde se edita un cliente, se optimizaria el proceso preguntando solo por ese cliente, algo asi como:
SELECT * FROM Clientes WHERE IdCliente=1
4- Usar Procedimientos almacenados. Incluso puede mejorar el desempeño mover el acceso, y no solo los procesos de actualizacion. Por ejemplo, para el caso anterior, el SELEC se pone en un procedimiento almacenado y se le enviaria el parametro.
5- Chequear el tipo de aislamiento de transacciones, si los cursores que se retornan pueden convertirse a solo lectura/avance hacia adelante unicamnete (FowardOnly) para cuando solo es ver la informacion.
Por regla general, es en el diseño Cliente/Servidor y afinacion de consultas y uso de procedimientos almacenados que se logra el maximo avance en desempeño.
Por lo demas, una vez mejorado estos aspectos, invertir en otros 32 MB para el servidor no seria tan costoso....(Sin embargo, no actualizes hardware hasta que ganes desempeño por mejorar la eficiencia)