Cita:
Empezado por marcoszorrilla
Y nunca voy a realizar 2 consultas de las citadas a la vez, tengo que tener 20 Tquery o Adoquery o con uno es suficiente.
En mi opinión es mejor utilizar un solo componente y cargarle el SQL al vuelo y luego activarlo, de esta manera se produce un ahorro de memoria.
|
Creo que siempre depende. Con lo barata que está la memoria ahora... si resulta mas rápido desarrollar la aplicación teniendo 20 queryes, por ejemplo, porque se utilizarán campos persistentes y quizás porque se asociarán manejadores de eventos a estos... resulta en una mejor relación costo/beneficio tener los 20 queries en un formulario o módulo de datos, que uno solo e ir asignándole Queries y métodos en tiempo de ejecución.
Cuanto puede llegar a ocupar un objeto Tquery cerrado en memoria?. Bueno, dependerá principalmente de cuanto SQL tenga metido. Con la propiedad SQL vacía.. exagerando unos 200 bytes. Con un Query cargadito, 1K (1024 bytes).
De esta manera, 20 queries complejos ocuparán 20K en memoria RAM. Para llenar 1Mb hará falta unos 1,000 TQuery. (o TADOQuery o TIBQuery, que ocuparán mas o menos lo mismo).
¡Ojo!.
Creo que lo importante no es cuantos queries se tengan creados. El consumo de memoria va a aumentar considerablemente en relación a cuantos de estos estén abiertos simultáneamente.
Por ello, se recomienda tener abiertos los que son necesarios para que la aplicación funcione. Con menos, no funciona... con mas, desperdicia la memoria, y tampoco está tan barata como para eso.

(bueno, tal vez si... pero no deja de dar algo de lástima

)