php - por - ¿Qué es el cursor desplazable PDO?
mostrar texto al pasar el mouse jquery (3)
¿De qué se trata "Obtener filas con un cursor desplazable"?
Crea un cursor para la consulta, que le permite recorrer el conjunto de resultados sin recuperar todo el resultado de una vez. Un cursor desplazable , específicamente, es uno que permite iterar hacia atrás.
Ejemplo de uso: puede avanzar hasta encontrar el registro que necesita y repetir para recuperar los registros anteriores, si los necesita, también.
Para Mysql ... no es compatible = no disponible (ni mysql (i) ni PDO):
mysqli_result :: data_seek (), tenga en cuenta que el manual indica: "Esta función solo se puede usar con los resultados obtenidos mediante el uso de las funciones mysqli_store_result () o mysqli_query ()". Es decir, la búsqueda se realiza en una copia local en caché del conjunto de resultados: no en el servidor. Por lo tanto, no admite ninguna sugerencia de un "cursor desplazable".
Wikipedia da esto:
Con un cursor no desplazable, también conocido como sólo de avance, se puede FETCH cada fila como máximo una vez, y el cursor se mueve automáticamente a la fila inmediatamente siguiente. Una operación de recuperación después de que se haya recuperado la última fila coloca el cursor después de la última fila y devuelve SQLSTATE 02000 (SQLCODE +100).
Y esto :
Un programa puede colocar un cursor desplazable en cualquier lugar del conjunto de resultados utilizando la instrucción FETCH SQL.
Deberías leer el artículo vinculado anteriormente, pero esto también parece información interesante:
Los cursores desplazables pueden acceder a la misma fila en el conjunto de resultados varias veces. Por lo tanto, las modificaciones de datos (insertar, actualizar, eliminar operaciones) de otras transacciones podrían tener un impacto en el conjunto de resultados.
En PHP, puede usar los cursores desplazables con PDO utilizando declaraciones preparadas (consulte PDOStatement::fetch
):
Para solicitar un cursor desplazable para su objeto PDOStatement, debe establecer el atributo PDO :: ATTR_CURSOR en PDO :: CURSOR_SCROLL cuando prepare la instrucción SQL con PDO :: prepare ().
(También hay un ejemplo más abajo en esa página)
Lo que parece interesante es la capacidad de "desplazarse" a través del conjunto de resultados, sin tener que obtener todos los datos en la memoria para iterarlos.