INSTITUCIONAL
COMUNIDAD
BLOG
AYUDA
MI CUENTA
EN PT ES

Proceso de ejecución en el servidor de aplicaciones

SAC 7792 Productos reportados: Generadores C/S Tipo: Documento Texto: Las aplicaciones C/S ejecutan sentencias en el servidor. El proceso de ejecución de sentencias es, más o menos, el siguiente:

a. PREPARE - Esta fase implica asignar todos los recursos para soportar la sentencia, verificar que la sintaxis sea la correcta, que las tablas existan y tengan los atributos mencionados, etc. También es la etapa en que se establece la estrategia de acceso (*) para resolver la sentencia. Todo esto tiene un costo, en tiempo, bastante alto. Por esta razón es recomendable hacerlo la menor cantidad de veces posible. Lo ideal es una vez por cada ejecución de la aplicación.

b. EXECUTE - En esta fase se ejecuta la sentencia. Si, por ejemplo, la sentencia era "SELECT ... FROM CLIENTES WHERE CLICOD = ?", entonces se le da un valor al ? y se "va a buscar" el cliente que corresponda a dicho valor. La estrategia de acceso es la que se determinó en el paso a. Salvo casos de sentencias muy complejas de altísimo costo de resolución (esto lo determina el optimizador del DBMS) no hay cambios de estrategia en esta fase. El Execute se ejecuta tantas veces como sea necesario "arrancar de nuevo".

 

c. FETCH - Esta fase es la que permite acceder a los datos resultantes de la sentencia ejecutada en el paso b. Sólo aplica si la sentencia es un SELECT. En caso de INSERTs, UPDATEs o DELETEs el FETCH no tiene sentido.

Se ejecuta, como máximo, tantas veces como filas resultantes del SELECT existan.

 

d. CLOSE - Esta fase libera algunos de los recursos consumidos por la sentencia. En particular: libera algunos tipos de locks (dependiendo del nivel de aislamiento), filas del resultado que NO han sido leídas por el cliente, etc.

Esta fase NO libera la estrategia de acceso a la base de datos de manera que si se hace otro Execute pueda ser reutilizada.

 

e. FREE - Esta fase, aunque no existe "formalmente", es la que libera todos los recursos de una sentencia, la estrategia tampoco queda. En GX esta fase ocurre al final del programa o, si se supera el máximo de cursores abiertos (sentencias activas), por defecto configurado en 100.

(*) ESTRATEGIA DE ACCESO - es el método que el DBMS selecciona para resolver una consulta. El que toma las decisiones sobre el método de acceso es lo que se llama el optimizador del DBMS. El método de acceso significa determinar, dada una consulta y un estado de la base de datos (tablas, índices, cantidad de registros, información de distribución de datos, etc.), la forma más eficiente de resolverla. Resolverla implica decidir qué tabla/tablas acceder primero, si accederlas por índice y por qué índice accederla, si hacer sort, si hacer una barrida total de las tablas, etc.

Más información: http://www.genexus.com/websac/websac.htm

Relacionado
GeneXus Training Uruguay publicó su calendario de capacitación para el primer semestre del año
Certificaciones #GeneXus en el #GX24
En GeneXus Uruguay buscamos nuevos talentos
Trabajar en GeneXus: Todo lo que tienes que saber si quieres trabajar con nosotros #Training #Becas #BolsaDeTrabajo #GXjobs
En GeneXus México buscamos nuevos talentos
Sistema educativo, mercado laboral, empresas B, Forge y GeneXus: la importancia de la capacitación, los valores y la inserción laboral en los jóvenes
Alta demanda de profesionales TI en el mundo
Próximos cursos y certificaciones #GeneXus en América: Argentina, Colombia, Chile, Brasil, México y Uruguay
Nuevos Analistas GeneXus en el Instituto Superior de Informática #Uruguay
Toolnology continúa presentando GeneXus X Evolution 3 con cursos gratuitos #Argentina
#Mayo Próximos cursos y certificaciones #GeneXus en América: Argentina, Brasil, Colombia, México y Uruguay
#Uruguay Curso de Seguridad en Aplicaciones GeneXus
¡Se ha ingresado una nueva oportunidad laboral en el portal de GeneXus! ¿La viste?
#Perú curso básico GeneXus X Evolution 3
Nuevos analistas GeneXus de la mano de Faro Digital #Rocha #Uruguay