PHP 8.4.1 Released!

oci_set_prefetch_lob

(PHP 8.2, PECL OCI8 >= 3.2)

oci_set_prefetch_lobDéfinit la quantité de données préchargées pour chaque CLOB ou BLOB.

Description

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

Définit la taille du tampon interne utilisé pour récupérer chaque valeur CLOB ou BLOB lorsque l'implémentation récupère le localisateur LOB Oracle interne de la base de données après un appel de requête réussi à oci_execute() et pour chaque demande de récupération interne ultérieure à la base de données. Augmenter cette valeur peut améliorer les performances de récupération des LOB plus petits en réduisant les allers-retours entre PHP et la base de données. L'utilisation de la mémoire changera.

Cette valeur affecte les LOB retournés sous forme d'instances OCILob et également ceux retournés en utilisant OCI_RETURN_LOBS.

Appeler oci_set_prefetch_lob() avant d'appeler oci_execute(). Si ce n'est pas fait, la valeur de oci8.prefetch_lob_size est utilisée.

La valeur de préchargement LOB doit être définie uniquement avec Oracle Database 12.2 ou ultérieur.

Liste de paramètres

statement

Un identifiant de requête OCI8 créé par la fonction oci_parse() et exécuté par la fonction oci_execute(), ou un identifiant de requête REF CURSOR.

prefetch_lob_size

Le nombre d'octets de chaque LOB à précharger, >= 0

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Changement de la valeur de préchargement LOB pour une requête

<?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);

?>

Voir aussi

add a note

User Contributed Notes

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