Função PHP mysql_unbuffered_query()

Definição e uso

A função mysql_unbuffered_query() envia uma consulta SQL ao MySQL (não obtém / armazena resultados).

Sintaxe

mysql_unbuffered_query(query,conexão)
Parâmetro Descrição
query Obrigatório. Define a consulta SQL a ser enviada. Nota: a string de consulta não deve terminar com ponto e vírgula.
conexão Opcional. Define o identificador de conexão SQL. Se não for especificado, usará a conexão aberta anterior.

Descrição

mysql_unbuffered_query() envia uma consulta SQL ao MySQL, mas não como mysql_query() para automaticamente obter e armazenar em cache o conjunto de resultados. De um lado, isso economiza uma quantidade significativa de memória ao lidar com conjuntos de resultados grandes. Do outro lado, é possível operar no conjunto de resultados imediatamente após obter a primeira linha, sem esperar que a consulta SQL completa seja executada.

Quando se usa várias conexões de banco de dados, deve-se especificar o parâmetro opcional conexão.

Dicas e observações

Observação:A desvantagem da mysql_unbuffered_query() é que não pode ser usada sobre o conjunto de resultados retornado pela mysql_unbuffered_query(): mysql_num_rows() e mysql_data_seek()Além disso, antes de enviar uma nova consulta SQL ao MySQL, é necessário extrair todas as linhas de resultados geradas por todas as consultas SQL não armazenadas em cache.

Exemplo

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Não foi possível conectar: ' . mysql_error());
  }
// Consulta grande
$sql = "SELECT * FROM Person";
mysql_unbuffered_query($sql,$con);
// Início do processamento de dados...
mysql_close($con);
?>