Функция PHP mysql_unbuffered_query()

Определение и использование

Функция mysql_unbuffered_query() отправляет запрос SQL к MySQL (не сохраняет / кэширует результаты).

Синтаксис

mysql_unbuffered_query(query,соединение)
Параметры Описание
query Обязательно. Определяет SQL-запрос, который нужно отправить. Примечание: строка запроса не должна заканчиваться точкой с запятой.
соединение Опционально. Определяет идентификатор подключения SQL. Если не указан, используется последнее открытое соединение.

Описание

mysql_unbuffered_query() отправляет запрос SQL к MySQL, но не как mysql_query() 自動的に отримувати та кешувати набори даних. С одной стороны, это позволяет сэкономить значительное количество памяти при обработке больших наборов данных. С другой стороны, можно начать работать с результатами набора данных сразу после получения первой строки, не дожидаясь выполнения всего SQL-запроса.

При использовании нескольких баз данных необходимо указать опциональные параметры соединение.

Подсказки и комментарии

Комментарий:Преимущества mysql_unbuffered_query() имеют свою цену: на результаты набора данных, возвращаемые mysql_unbuffered_query(), нельзя использовать mysql_num_rows() и mysql_data_seek(). Кроме того, перед отправкой нового SQL-запроса в MySQL, необходимо извлечь все строки результатов, созданные всеми не кэшируемыми SQL-запросами.

Пример

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Не удалось подключиться: ' . mysql_error());
  }
// Большой запрос
$sql = "SELECT * FROM Person";
mysql_unbuffered_query($sql,$con);
// Начало обработки данных...
mysql_close($con);
?>