Función PHP mysql_unbuffered_query()
Definición y uso
La función mysql_unbuffered_query() envía una consulta SQL a MySQL (sin obtener / cachear los resultados).
Sintaxis
mysql_unbuffered_query(query,conexión)
Parámetros | Descripción |
---|---|
query | Obligatorio. Especifica la consulta SQL que se debe enviar. Nota: la cadena de consulta no debe terminar con un punto y coma. |
conexión | Opcional. Especifica el identificador de conexión SQL. Si no se especifica, se utiliza la conexión abierta anterior. |
Descripción
mysql_unbuffered_query() envía una consulta SQL query a MySQL, pero no como mysql_query() para que se obtengan y se almacenen automáticamente las conjuntos de resultados. Por un lado, esto ahorra una cantidad considerable de memoria al manejar conjuntos de resultados grandes. Por otro lado, se puede operar con el conjunto de resultados inmediatamente después de obtener la primera fila, sin esperar a que se complete toda la sentencia SQL.
Cuando se utilizan múltiples conexiones de bases de datos, debe especificar los parámetros opcionales conexión.
Sugerencias y comentarios
Nota:La ventaja de mysql_unbuffered_query() tiene un costo: no se puede usar mysql_num_rows() y mysql_data_seek(). Además, antes de enviar una nueva consulta SQL a MySQL, debe extraer todas las filas de resultados producidas por todas las consultas SQL no almacenadas en caché.
Ejemplo
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die('No se pudo conectar: ' . mysql_error()); } // Consulta grande $sql = "SELECT * FROM Person"; mysql_unbuffered_query($sql,$con); // Comienza el procesamiento de datos... mysql_close($con); ?>