Compartir a través de


La importancia de la ubicación del cursor

Cada cursor usa recursos temporales para almacenar sus datos. Estos recursos pueden ser memoria, un archivo de paginación de disco, archivos de disco temporales o incluso almacenamiento temporal en la base de datos. El cursor se denomina cursor del lado cliente cuando estos recursos se encuentran en el equipo del cliente. El cursor se denomina del lado servidor cuando estos recursos se encuentran en el servidor.

cursores de Client-Side

En ADO, llame para un cursor del lado cliente mediante el adUseClient CursorLocationEnum. Con un cursor del lado cliente que no es de tipo keyset, el servidor envía todo el conjunto de resultados a través de la red al equipo cliente. El equipo cliente proporciona y administra los recursos temporales necesarios para el cursor y el conjunto de resultados. La aplicación del lado cliente puede examinar todo el conjunto de resultados para determinar qué filas requiere.

Los cursores estáticos y controlados por conjuntos de claves del lado cliente pueden colocar una carga significativa en la estación de trabajo si incluyen demasiadas filas. Aunque todas las bibliotecas de cursores son capaces de crear cursores con miles de filas, las aplicaciones diseñadas para capturar conjuntos de filas grandes pueden funcionar mal. Hay excepciones, por supuesto. En algunas aplicaciones, un cursor de cliente grande podría ser perfectamente adecuado y el rendimiento podría no ser un problema.

Una ventaja obvia del cursor del lado cliente es una respuesta rápida. Una vez descargado el conjunto de resultados en el equipo cliente, navegar por las filas es muy rápido. La aplicación suele ser más escalable con cursores del lado cliente porque los requisitos de recursos del cursor se colocan en cada cliente independiente y no en el servidor.

cursores de Server-Side

En ADO, llame a para un cursor del lado servidor mediante el adUseServer CursorLocationEnum. Con un cursor del lado servidor, el servidor administra el conjunto de resultados mediante los recursos proporcionados por el equipo servidor. El cursor del lado servidor devuelve solo los datos solicitados a través de la red. Este tipo de cursor a veces puede proporcionar un mejor rendimiento que el cursor del lado cliente, especialmente en situaciones en las que el tráfico de red excesivo es un problema.

Sin embargo, es importante señalar que un cursor del lado servidor consume, al menos temporalmente, recursos preciosos del servidor para cada cliente activo. Debe planear en consecuencia para asegurarse de que el hardware del servidor es capaz de administrar todos los cursores del lado servidor solicitados por los clientes activos. Además, un cursor del lado servidor puede ser lento porque solo proporciona acceso a una sola fila: no hay ningún cursor por lotes disponible.

Los cursores del lado servidor son útiles al insertar, actualizar o eliminar registros. Con los cursores del lado servidor, puede tener varias instrucciones activas en la misma conexión.