PHP 8.5.0 Alpha 2 available for testing

oci_set_prefetch_lob

(PHP 8.2, PECL OCI8 >= 3.2)

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

Descripción

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

Define el tamaño del búfer interno utilizado para recuperar cada valor CLOB o BLOB cuando la implementación recupera el localizador LOB interno de Oracle de la base de datos después de una llamada exitosa 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 recuperación de los LOB más pequeños al reducir los viajes entre PHP y la base de datos. El uso de la memoria cambiará.

Este valor afecta a los LOB devueltos como instancias OCILob y también a aquellos devueltos utilizando OCI_RETURN_LOBS.

Llamar a oci_set_prefetch_lob() antes de llamar a oci_execute(). Si no se hace, se utiliza el valor de oci8.prefetch_lob_size.

El valor de prefetch LOB debe definirse únicamente con Oracle Database 12.2 o posterior.

Parámetros

statement

Un identificador de consulta OCI8 creado por la función oci_parse() y ejecutado por la función oci_execute(), o un identificador de consulta REF CURSOR.

prefetch_lob_size

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

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error.

Ejemplos

Ejemplo #1 Cambio del valor de prefetch 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); // Establecer antes de llamar a 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