PHP 8.2.0 Alpha 2 available for testing

oci_set_prefetch_lob

(PHP 8.2, PECL OCI8 >= 3.2)

oci_set_prefetch_lobУстанавливает объём данных, предварительно выбираемых для каждого CLOB или BLOB

Описание

oci_set_prefetch_lob(resource $statement, int $prefetch_lob_size): bool

Устанавливает размер внутреннего буфера, используемого для выборки каждого значения CLOB или BLOB, когда реализация получает внутренний локатор LOB Oracle из базы данных после успешного вызова запроса к функции oci_execute() и для каждого последующего внутреннего запроса выборки в базу данных. Увеличение этого значения может улучшить производительность выборки меньших LOB за счёт сокращения круговых обходов между PHP и базой данных. Использование памяти изменится.

Значение влияет на большие объекты, возвращаемые как экземпляры OCILob, а также на те, которые возвращаются с использованием OCI_RETURN_LOBS.

Функция oci_set_prefetch_lob() вызывается до вызова oci_execute(). Если функция не была вызвана, используется значение oci8.prefetch_lob_size.

Значение предварительной выборки LOB следует устанавливать только в Oracle Database 12.2 или новее.

Список параметров

statement

Корректный идентификатор выражения OCI8, полученный из oci_parse() и исполненный функцией oci_execute(), или идентификатор выражения REF CURSOR.

prefetch_lob_size

Число байтов каждого LOB, которое нужно предварительно выбрать, >= 0.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Список изменений

Версия Описание
PECL OCI8 3.2

Примеры

Пример #1 Изменение значения предварительной выборки LOB для запроса

<?php

$conn 
oci_connect('hr''welcome''localhost/XE');

$stid oci_parse($conn'SELECT myclob FROM mytable');
oci_set_prefetch_lob($stid100000);  // Установка значения перед вызовом oci_execute()
oci_execute($stid);

echo 
"<table border='1'>\n";
while (
$row oci_fetch_array($stidOCI_ASSOC+OCI_RETURN_NULLS+OCI_RETURN_LOBS)) {
    echo 
"<tr>\n";
    foreach (
$row as $item) {
        echo 
"    <td>".($item !== null htmlentities($itemENT_QUOTES) : "&nbsp;")."</td>\n";
    }
    echo 
"</tr>\n";
}
echo 
"</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Смотрите также

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top