略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: oci_set_prefetch_lob

2024-11-15

oci_set_prefetch_lob

(PHP 8.2, PECL OCI8 >= 3.2)

oci_set_prefetch_lobSets the amount of data prefetched for each CLOB or BLOB.

说明

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

Sets the internal buffer size used to fetch each CLOB or BLOB value when the implementation gets the internal Oracle LOB locator from the database after a successful query call to oci_execute() and for each subsequent internal fetch request to the database. Increasing this value can improve the performance of fetching smaller LOBs by reducing round-trips between PHP and the database. Memory usage will change.

The value affects LOBs returned as OCILob instances and also those returned using OCI_RETURN_LOBS.

Call oci_set_prefetch_lob() before calling oci_execute(). If it is not called, the value of oci8.prefetch_lob_size is used.

The LOB prefetch value should only be set with Oracle Database 12.2 or later.

参数

statement

有效的 OCI8 报表标识符 由 oci_parse() 创建,被 oci_execute()REF CURSOR statement 标识执行。

prefetch_lob_size

The number of bytes of each LOB to be prefetched, >= 0

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
PECL OCI8 3.2

范例

示例 #1 Changing the LOB prefetch value for a query

<?php

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

$stid oci_parse($conn'SELECT myclob FROM mytable');
oci_set_prefetch_lob($stid100000);  // Set before calling 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 noteadd a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/function.oci-set-prefetch-lob.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3