PHP 8.4.1 Released!

oci_set_prefetch_lob

(PHP 8.2, PECL OCI8 >= 3.2)

oci_set_prefetch_lobEstablece la cantidad de datos precargados para cada CLOB o BLOB.

Descripción

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

Establece el tamaño del búfer interno utilizado para obtener cada valor CLOB o BLOB cuando la implementación obtiene el localizador interno de la base de datos Oracle LOB después de una correcta llamada de consulta a oci_execute() y para cada solicitud de recuperación interna posterior a la base de datos. Aumentar este valor puede mejorar el rendimiento de la obtención de LOB más pequeños al reducir los viajes de ida y vuelta entre PHP y la base de datos. El uso de la memoria cambiará.

El valor afecta a las LOB devueltos como instancias OCI-Lob y también a las devueltas mediante OCI_RETURN_LOBS.

Llamar a la función oci_set_prefetch_lob() antes de llamar a oci_execute(). Si no se invoca, el valor de oci8.prefetch_lob_size se utilizará.

El valor de precarga de LOB solo debe establecerse con la base de datos Oracle 12.2 o posterior.

Parámetros

statement

Un identificador de sentencia de OCI8 válido creado por oci_parse() y ejecutado por oci_execute(), o un identificador de sentencia de REF CURSOR.

prefetch_lob_size

El número de bytes de cada LOB que se va a precargar, >= 0

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
PECL OCI8 3.2

Ejemplos

Ejemplo #1 Cambiando el valor de prefetch de LOB para una consulta

<?php

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

$stid = oci_parse($conn, 'SELECT myclob FROM mytable');
oci_set_prefetch_lob($stid, 100000); // Set before calling oci_execute()
oci_execute($stid);

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

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

?>

Ver también

add a note

User Contributed Notes

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